Is there a situation where ContentPresenter is the content of UIElement ? Given that the field has been declared as an object instead of UIElement , it seems that it will happen, however, I can not think of any situation where it is, or even That it is also valid.
ContentPresenter presenter = GetTemplateChild (PART_Presenter) as ContentPresenter; UIElement myElement = (UIElement) presenter. Material; MyElement.SomeUIMethod (); // Possible invalid operation exceptions?
I do this all the time - and complete MVVM method non- UIElement Content, here is an example:
Create a class that is not derived from the UIElement , I will call MyViewModelClass in this example.
Create a window and add this code
public partial squares window 1: window {public window 1 () {DataContext = new MyViewModelClass (); InitializeComponent (); }} and add some content controls to XAML:
& lt; Button content = "{binding}" /> Now you have a ContentPresenter (inside the button control template) with MyViewModelClass as the content.
Another (probably more common) example, for example, each ListBoxItem has a ContentPresenter which is in the list, whichever is it < Set the code> ItemControl ItemSource .
No comments:
Post a Comment