0

我想创建一个Style作为窗口资源的样式,并且该样式需要绑定到分配的控件中的属性。下面是它的简化示例。

为按钮创建样式并Background使用分配的按钮控件标签属性应用颜色。

<Window.Resources>
    <Style x:Key="TestingStyle" TargetType="Button">
        <Setter Property="Background" Value="{Binding Tag}" />
    </Style>
</Window.Resources>

当我在其中添加 a时Button,此样式应将该颜色应用于的背景。这有可能吗?ColorTagButton

编辑

下面是实际的 XMAL 代码。

<Style x:Key="SeriesStyle" TargetType="Chart:ChartSeries">
    <Setter Property="StrokeThickness" Value="2"/>
    <Setter Property="PointMarkerTemplate">
        <Setter.Value>
            <ControlTemplate>
                <Ellipse Width="7" Height="7" Fill="Lavender" Stroke="{Binding RelativeSource={RelativeSource Self}, Path=SeriesColor}"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
4

2 回答 2

2

是的,可以这样做,但是您必须绑定到 RelativeSource,并且可能必须创建一个将对象转换为颜色的转换器,这是因为标签存储的对象不是颜色,下面是添加一个示例相对来源。

 <Setter Property="Background" Value="{Binding Path=Tag, RelativeSource={RelativeSource Self}}}" />

编辑:
假设系列颜色是 ChartSeries 使用的属性:

{Binding Path=SeriesColor, RelativeSource={RelativeSource AncestorType={x:Type Chart:ChartSeries}}}
于 2013-05-07T22:20:16.967 回答
1

试试这个也许:

<Setter Property="Background" Value="{Binding RelativeSource={RelativeSource Self}, Path=Tag}" />
于 2013-05-07T22:26:22.630 回答