我有一個WindowsFormsHost的可見性基於某些觸發器從「可見」更改爲「摺疊」,反之亦然。我也希望能夠將這個「可見性」綁定到一個變量,因爲我需要能夠查看可見性字段出於某些原因,我不能只是「看」它,因爲他們在兩個不同的項目(持有這個WindowsFormsHost的風格基本上是一個資源項目)。Wpf綁定到WindowsFormHost的可見性
不管怎麼說,我有這樣的:
<WindowsFormsHost Grid.Row="2" Name="PART_ToggleContainer" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Visibility="{Binding Path=IsVisible, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,Source={StaticResource StatusProvider}}"
>
而且在控制模板父我有一個multitrigger,檢查一對夫婦的依賴性文件,並試圖隱藏表單(和隱藏的作品)。
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsBeingDragged" Value="True"/>
<Condition Property="IsWorking" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="IsVisibleDProp" Value="False"/>
<Setter TargetName="PART_ToggleContainer" Property="Visibility" Value="Collapsed" />
</MultiTrigger>
</ControlTemplate.Triggers>
這裏是結合我使用的可視性,「可見性」,在被用作數據提供程序的類。
private Visibility IsVisibleProperty = Visibility.Visible;
public bool bIsVisible
{
get { return bIsVisibleProperty; }
set
{
if (bIsVisibleProperty == value)
{
return;
}
bIsVisibleProperty = value;
OnPropertyChanged("IsVisible");
}
}
當屬性改變時,setter不會被命中。
任何線索?
我也嘗試了一種解決方法,設置這個「IsVisibleDProp」依賴關係,它與「IsBeingDragged」和「IsWorking」位於同一個地方,但它從來沒有碰到過setter(儘管我通過程序設置了另外兩個, IsVisibleDPropis使用multitrigger設置)。
謝謝。