我试图通过代码更新wpf中的某些用户控件,但没有运气。WPF中的代码更新UI
这就是XAML:
<UserControl x:Class="SimuladorNocs.UI.Diagram.PropertiesWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:PropertyGrid="clr-namespace:Deepforest.WPF.Controls"
>
<DockPanel>
<StackPanel x:Name="stackPanel" Width="300" Height="600" HorizontalAlignment="Center">
<PropertyGrid:PropertyGridControl Height="300" x:Name="MyPropertyGrid" />
</StackPanel>
</DockPanel>
,这就是C#代码:
public void SetInstance(object obj){
MyPropertyGrid = new PropertyGridControl { Instance = obj, Height = 300 };
stackPanel.Children.Clear();
stackPanel.Children.Add(MyPropertyGrid); }
最后,物业appers正在改变,但我无法看到UI的变化。我也试图创建一个新的对象,而不是使用现有的MyPropertyGrid,没有工作,也试图不清除堆栈面板没有成功...
我错过了什么?
感谢
不,它不适合我。 试图做到这一点,但从另一个用户控件调用SetInstance(),例如,当您从构造函数调用时,它的工作原理... – caiokf 2009-10-17 19:45:40
在这种情况下,您可以发布一个完全不需要外部库的repro ? – 2009-10-17 19:54:02