-1
我無法綁定ContentPresenter的可見性。我創建了一個小例子窗口:WPF ContentPresenter未能綁定可見性
在我的資源我定義瞭如下的DataTemplate
<DataTemplate x:Key="MyTemplate">
<Border Width="50" Height="50" Background="Red"/>
</DataTemplate>
該窗口包含只是一個紅色和綠色填充邊界的StackPanel。
<StackPanel>
<ContentPresenter ContentTemplate="{StaticResource MyTemplate}" Visibility="{Binding Vis}"/>
<Border Width="50" Height="50" Background="Green" Visibility="{Binding Vis}"/>
</StackPanel>
能見度在DataContext的可用:
private Visibility _Vis;
public Visibility Vis
{
get
{
return _Vis;
}
set
{
_Vis = value;
OnPropertyChanged(nameof(Vis));
}
}
顯示窗口,這兩個邊界被相互之間所示。現在問題:如果我更改可見性(使用OnPropertyChanged),只有綠色邊框更改可見性。使用ContentTemplate的紅色邊框不會改變它的可見性。但是這兩個控件都綁定到同一個屬性!
- 我嘗試了與
Collapsed
和Hidden
- 沒有什麼區別 - 我也嘗試添加
DataContext={Binding}
到ContentPresenter - 沒有區別
什麼是使用ContentPresenter和綁定it's的問題能見度?
謝謝你的回答!
ContentPresenter有時候很特別 - 你可以用ContentControl替換它嗎(如果需要,可以顯式綁定內容)並查看它是否更好? –