[英]Update UI by code in WPF
我正在嘗試通過代碼更新wpf中的某些用戶控件,但是沒有運氣。
那就是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); }
最后,該屬性似乎正在更改,但是我無法在UI中看到更改。 我還嘗試創建一個新對象而不是使用現有的MyPropertyGrid,但沒有成功,還嘗試了不清除堆棧面板而沒有成功...
我想念什么?
謝謝
我沒有指定的propertygrid控件,但是UI似乎沒有更新。 您是否在該控件以及堆棧面板本身上嘗試了“ UpdateLayout()”?
stackPanel.InvalidateVisual();
請在最后一行添加。
將PropertyGridControl
換成Label
,它工作正常。 我建議你這樣做。 如果可行,那就更多是一個關於PropertyGridControl
做錯了什么的問題...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.