簡體   English   中英

通過WPF中的代碼更新UI

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM