XAML内联值赋值

时间:2014-09-01 10:41:05

标签: c# wpf xaml

我只是想知道是否可以在单个“内联”行中编写这行代码:

<Ellipse MinWidth="10" MinHeight="10" Stroke="Black" StrokeThickness="1">
    <Ellipse.Fill>
        <SolidColorBrush Color="{Binding Path=SelectedColor, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Primitives:ColorPickerBase}}}" />
    </Ellipse.Fill>
</Ellipse>

即。将Fill定义中的Ellipse属性设置为新的SolidBrush,其Color属性模板已绑定

更新1:Adriano在评论中正确地提到了从ValueConverterColor SolidBrush的可能性。我知道这种可能性,但我正在寻找一个单线解决方案,而在其他地方没有任何额外的代码。

1 个答案:

答案 0 :(得分:1)

您无法执行此操作,因为Ellipse的填充属性为SolidColorBrush Type,您拥有的Color Type用于绑定。所以最后你需要一个converter可以将颜色转换为SolidColorBrush或者类型为SolidColorBrush的属性。

我认为你使用它的方式不会成为问题。 :)