我幾次閱讀Style
s,Style.Trigger
s和Property-Setters
上的描述,但是我仍然會,如果樣式應用或者不是完全隨機的。WPF樣式屬性設置器不適用於所有類型
在下面的例子中,Canvas
會變成白色的,Path
,但是,是不是在所有受影響:
<UserControl x:Class="Still.Tooll.CurveEditPoint"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Still.Tooll"
>
<UserControl.Style>
<Style>
<Style.Triggers>
<Trigger Property="local:CurveEditPoint.IsSelected" Value="true">
<Setter Property="Path.Stroke" Value="#fff"/>
<Setter Property="Canvas.Background" Value="#fff"/>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Style>
<Canvas>
<Path StrokeThickness="0.5" Data="M 0, 0 L 40,20"/>
</Canvas>
</UserControl>
我想這有做一些與Path
的Canvas
內嵌套,但是再一次,必須有一種方法來設置控件的子元素。
我不得不承認,來自HTML/CSS,我發現WPF樣式不必要的困難!任何觀點或解釋歡迎!
感謝, 湯姆
優秀的答案。不是我所期望的,但至少我現在明白了我應該如何處理這類問題。 – pixtur 2011-03-10 13:12:26