ContentPresenterの可視性をバインドする際に問題があります。私は窓がちょうどのStackPanel赤と緑いっぱいの国境の含まれている次のDataTemplateにWPF ContentPresenterバインドに失敗しました可視性
<DataTemplate x:Key="MyTemplate">
<Border Width="50" Height="50" Background="Red"/>
</DataTemplate>
を定義し、私のリソースでは
:私は、最小限の例のウィンドウを作成しました。
<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));
}
}
は、2つの境界は、互いの間で示されています。今度は問題: Visibility(OnPropertyChangedが使用されている)を変更すると、緑色の境界線のみがVisibilityを変更します。 ContentTemplateを使用している赤い枠線は、可視性を変更しません。しかし、両方のコントロールは同じプロパティにバインドされています! ContentPresenterとバインドit'sを使用しての問題は何 違いはありません
から
DataContext={Binding}
を追加しようとした違いはありません -
- は私が
Collapsed
とHidden
でそれを試してみました可視性?ありがとうございました!
ContentPresenterは特別な場合があります。ContentControlを必要に応じて明示的にバインドしてContentControlを置き換え、それがよりうまく動作するかどうかを確認することはできますか? –