2014-01-28 92 views
1

控件中有一個布爾型DependencyProperty,名爲IsRunning,它指示控件正在執行某些操作。我想創建一個Style,該控件集的Visibility設置爲可見如果IsRunning == true,或者摺疊如果IsRunning == false將依賴屬性綁定到樣式中的可見性

控制可以在頁面中使用這樣的:

<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}"/> 

,我試過的風格(我也有試過TemplatedParent而不是自我沒有運氣):

<Style x:Key="MyStyle" TargetType="TheControl" > 
    <Setter Property="Visibility" Value="{Binding RelativeSource={RelativeSource Self}, Path=IsRunning, Converter={StaticResource BoolToVisibilityConverter}}"/> 
</Style> 

通過以上代碼我得到一個XamlParseException。 我不想在頁面中設置可見性,我想用樣式來控制可見性,因爲我有很多這些控件,只有一種樣式。

+0

您不能在IsRunning屬性的PropertyChangedCallback中設置控件的可見性嗎?還是有其他原因使用風格? –

+0

我從.dll引用此控件,因此我無權訪問該代碼。 –

+0

「TheControl」是一個'UserControl'還是別的? – McGarnagle

回答

1

由於IsRunning是一個布爾值,你有沒有嘗試添加知名度直奔控制

<TheControl Style="{StaticResource MyStyle}" IsRunning="{Binding CategoryListLoaded}" Visibility="{Binding CategoryListLoaded, Converter={StaticResource BoolToVisibilityConverter}}"/> 
+0

我已經考慮過這個,但這將是最後的解決方案。最後,我不知道如何以一種風格來實現這一點,如果可能的話。 –

+0

試圖找到解決方案後,似乎這並不容易,所以我認爲這將是它,並將其標記爲asnwer。 –

相關問題