【发布时间】:2015-11-18 17:32:48
【问题描述】:
我有一个这样定义的资源:
<Canvas x:Key="export"
Width="48"
Height="48">
<Path Fill="{DynamicResource CurrentColor}"
Data="M23,12L19,8V11H10V13H19V16M1,18V6C1,4.89 1.9,4 3,4H15A2,2 0 0,1 17,6V9H15V6H3V18H15V15H17V18A2,2 0 0,1 15,20H3A2,2 0 0,1 1,18Z" />
</Canvas>
我是这样使用它的:
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Margin="10,5,10,10"
Width="Auto"
Height="Auto">
<Button.Template>
<ControlTemplate TargetType="Button">
<Rectangle Width="48"
Height="48"
Fill="{DynamicResource CurrentColor}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill"
Visual="{Binding}" />
</Rectangle.OpacityMask>
</Rectangle>
</ControlTemplate>
</Button.Template>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
可以看出,我正在尝试将矩形大小设置为 48x48,但资源中的路径数据坐标被定义为将其绘制为 24x24。无论我尝试什么,我都无法拉伸资源来填充按钮。如何做呢?
如果需要,我愿意更改按钮实现。我所需要的只是能够以某种颜色显示按钮中的图标。
【问题讨论】:
-
将路径的宽度和高度设置为 48(而不是画布),并将其 Stretch 属性设置为 Fill。为什么你有 Canvas?
标签: wpf xaml resources wpf-controls resourcedictionary