1
我在ResourceDictionary中將按鈕樣式設置爲DataTemplate。這裏有一小部分:DataTemplate檢查綁定是否存在
<Style TargetType="{x:Type Button}">
<Setter Property="Focusable" Value="False"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="border">
...
</Border>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsSelected}" Value="True">
<Setter Property="Background" TargetName="border" Value="Red" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
在這個模板中有一個與屬性IsSelected的綁定。這種特性在那裏是一種情況,在其他情況下則不是。
如果綁定路徑存在,是否可以檢查Xaml,然後在其他情況下使用它忘記它? 現在我在調試輸出BindingExpression,我想消除這一點。
我如何訪問TargetName邊框?哪一種是另一種風格?這可能嗎? – San 2012-03-01 12:02:24
你沒有。相反,您需要更新您的控件模板綁定到的控件的屬性。這使得數據和數據的可視化之間保持清晰的分離。在這種情況下,你可能會讓你的樣式觸發器設置'Button'的'Background'屬性。然後按鈕的控件模板中的'border'元素將使用'TemplateBinding'到按鈕的'Background'屬性。 – 2012-03-01 15:49:10