When I programattically add contents (RadFluidContentControls with textblocks as a test) to the RadTileView, the contents do not update correctly. Resizing the window or clicking on an item causes it to update the layout correctly. I need to know how to force the RadTileView to update its layout to correct this error. (See pictures attached). I'm using the Nov03 version, btw.
Thanks,
Derrick
private void LoadPod(XElement Pod)
{
string Name = utils.GetAttributeValue(Pod, "Name");
RadTileViewItem pod = new RadTileViewItem();
//header
pod.Header = Name;
//
RadFluidContentControl fcc = new RadFluidContentControl();
fcc.NormalToSmallThreshold = new Size(300, 300);
fcc.NormalToLargeThreshold = new Size(301, 301);
fcc.LargeToNormalThreshold = new Size(302, 302);
pod.Content = fcc;
//
TextBlock small = new TextBlock();
small.Text = "small";
fcc.SmallContent = small;
//
TextBlock norm = new TextBlock();
norm.Text = "normal";
fcc.Content = norm;
//
TextBlock large = new TextBlock();
large.Text = "large";
fcc.LargeContent = large;
//
this.Pods.Items.Add(pod);
}
38 Answers, 1 is accepted
Thank you for your feedback. This is a known issue on which we are working. The problem should be resolved for the upcoming service pack which is due in the beginning of December.
Kind regards,
Tihomir Petkov
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
The fast switching in the FluidContentControl may be caused by your specific threshold values. Can you please provide an example that demonstrates the problem so that I can investigate? We are not aware of current bugs in the thresholds.
Greetings,
Tihomir Petkov
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
I've tried several different sets of threshold values, including the one in my original post, and these settings:
RadFluidContentControl fcc = new RadFluidContentControl();
fcc.NormalToSmallThreshold = new Size(200, 200);
fcc.NormalToLargeThreshold = new Size(201, 201);
fcc.LargeToNormalThreshold = new Size(302, 302);
I'm putting a RadChart in the tiles, and want it to be something else if the tile is too small to display correctly.
Thank you,
Derrrick
In the code snippet you provided I see that you're setting only three of the four threshold values which means the threshold you don't set gets an automatic value which may be causing the problem. Another problem may be the actual size of the content you want to switch with these thresholds - have you checked what is the actual size (and thus are the threshold values correct) of the content you want to swap? Sometimes when you don't hard code the size of your elements it may be tricky to determine the actual size with which they're rendered. You may need to check their size at runtime.
Alternatively, you can swap the visible content of the FluidContentControl manually as the tile states change. To do that, you need to set the ContentChangeMode of the FluidContentControl to "Manual". Also, you should attach to the TileStateChanged event of the TileView and do the following:
private void tileView_TileStateChanged(object sender, Telerik.Windows.RadRoutedEventArgs e)
{
RadTileViewItem item = e.Source as RadTileViewItem;
if (item != null)
{
RadFluidContentControl fluidControl = item.ChildrenOfType<RadFluidContentControl>().First();
if (fluidControl != null)
{
switch (item.TileState)
{
case TileViewItemState.Maximized:
fluidControl.State = FluidContentControlState.Large;
break;
case TileViewItemState.Minimized:
fluidControl.State = FluidContentControlState.Small;
break;
case TileViewItemState.Restored:
fluidControl.State = FluidContentControlState.Normal;
break;
}
}
}
}
Let me know if any of the above suggestions helps.
Regards,
Tihomir Petkov
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
I didn't see the TileView mentioned in the latest build Release Notes--do you know if this problem has been fixed yet? (RadTileView tiles not laying out correctly until clicked or resized).
Thanks,
Derrick
We could not address the bug in the latest release, but we will do our best to provide a patch as soon as possible.
Sincerely yours,
Tihomir Petkov
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
The fix is coming in the mid-January with the SP release. If you need it even earlier - please let us know.
Best wishes,
Valentin.Stoychev
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Thanks for your response. First I would like to say that I've a big fan of Telerik, the products they produce and the support behind the products. Thanks to you and all of the people on the Telerik team. The short answer is yes,we need it asap. The excitement the control generated when we previewed it to our client will rapidly disappear if we are not able to deliver it in the final product. I'm sure you understand how this impacts our ability to manage the customer's expectations. Thanks for any help you can provide and have a great holiday season.
Regards
Reggie
Yes, I would like a workaround in advance of the SP release if possible. The tiles layout correctly after clicking one of them, maybe we could simulate a mouse click or something? Maybe add a method to force a layout, anything.
Thanks and Merry Christmas!
Derrick
I figured out a workaround for now. Since the control works the first time, just recreate the control each time you want to load a different set of tiles:
RadTileView OldPods = this.Pods;
this.Pods = new RadTileView();
((Border)OldPods.Parent).Child = this.Pods;
this.Pods.Name = OldPods.Name;
this.Pods.Margin = OldPods.Margin;
this.Pods.MinimizedColumnWidth = OldPods.MinimizedColumnWidth;
this.Pods.MinimizedItemsPosition = OldPods.MinimizedItemsPosition;
...load tiles...
ok - we will let you know once this is fixed.
Best wishes,
Valentin.Stoychev
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Or is there any code I could use to deliver an automatic Click to the header? That would seem to solve the problem too.
Thanks!
Thanks for your awesome controls. Could you please let me know when the bug is fixed for TileView (or if it is possible to do a workaround by programming in a manual header click)? My firm has a software demo on January 16th and is really counting on the fix. It would be a major turnoff to clients if the tiles loaded like it is doing now.
Cassandra
Yes - this fix is now part from the Q3.SP2 release which should be available for download by the end of the week.
Greetings,
Valentin.Stoychev
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
foreach (PHI item in rows)
{
RadTileViewItem rtvItem = new RadTileViewItem();
rtvItem.Header = item.Description;
rtvItem.TileState = TileViewItemState.Minimized;
rtvItem.Content = rtvItem;
rtvItems.Add(rtvItem);
}
I was not able to reproduce the problems you report using the latest version of the controls (2009 Q3 SP2). Can you please download the latest version from your client account and see if the problem persists?
All the best,
Tihomir Petkov
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
I had the same issue but it was related to the sizing you provide for large/small content for fluid control. The best thing to do is to handle this maually by setting ContentChangeMode of fluid control to manual and handling TileStateChanged on the TileView.
Thanks
2nd question, still cosmetically there is an issue. Look at the 1st image and then 2nd. The tiles are bleeding on each other. As soon as I do the resizing, it will fix it.
Regarding the second question ..You may want to make sure your project is referencing the latest dll. I dont have such issues on my project.
That did it. You been a great help. Thanks
Regards
Yes, this issue is fixed in our last official release "RadControls_for_Silverlight_3_2010_1_0422".
I have prepared a sample project with the described behavior and it works as expected from our point of view.
Can you please check it and let us know if you still experience any problems?
Regards,
Vladislav
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Could you please send us a sample project that represents your issue, so we will be able to better assist you? In fact the best way of using the RadFluidContentControl inside RadTileView is to bind the TileState of the items to the State of the RadFluidContentControl. Could you please read this article and if you have further questions feel free to ask ?
All the best,Our ViewModel can not be tightly coupled to the View or the MVVM boundaries become blurred and concerns are not separated enough to be handled by separate teams.
My advice is to consider that adding one additional property to your ViewModel will not break the View - ViewModel separation(the property can be of any type - int, string etc.), but if you don't add it the only other solution is once the containers are generated to manually set bindings between the containers and their FluidContentControls. Please examine the attached project and if you have further questions feel free to ask.
Best wishes,View Models usually contain all the collections, objects and logic for the entire view. Not just one collection for a single control within the view. The proposed solution is engineered such that ContainerBindingSolution and the FluidContentControl are looking for the ContentState binding in the Business Object with in the collection which is bound to the tileview.
Extending our Business Objects (Domain Services) is undesirable. I'd like to see our teams tacking Views (Designers), View Models (Designer/Developer) independently. Thus the View Model should contain no custom logic for the specific view and be transportable between WPF and Silverlight.
For the moment, I have extended the partial class from the domain service which is within the list that binds to the tile view. Adding a Content State property. Honestly though, the (control) TileView should take care of this stuff encapsulated, not requiring the designer and the developer to collaborate on for simple databinding.
Sorry for the misunderstanding, in my previous reply by "adding one additional property to your ViewModel" I meant adding it to your TileViewItem Business Object.
We plan to improve the integration between the TileView and the RadFluidContentControl for Q1 2011, but I can't give you a specific date for now.