我正在尝试从XAML源代码的材料设计中学习。这是他们的 GitHub:MaterialDesignInXaml 工具包这是我正在研究的代码:包装图标这是 PackIcon 的辅助类:包图标库包装图标数据工厂目前,我正在查看他们的图标包示例并对其进行快速测试。这是测试类:public class PackIconTest : Control{ static PackIconTest() { DefaultStyleKeyProperty.OverrideMetadata(typeof(PackIconTest), new FrameworkPropertyMetadata(typeof(PackIconTest))); } public PackIconTest() { Data = "M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z"; } private static readonly DependencyPropertyKey DataPropertyKey = DependencyProperty.RegisterReadOnly(nameof(Data), typeof(string), typeof(PackIconTest), new PropertyMetadata("")); public static readonly DependencyProperty DataProperty = DataPropertyKey.DependencyProperty; [TypeConverter(typeof(GeometryConverter))] public string Data { get { return (string)GetValue(DataProperty); } private set { SetValue(DataPropertyKey, value); } }}这是 XAML 用法:<local:PackIconTest Width="200" Height="200"/>图标不显示。我错过了什么?
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
我通过为 PackIconTest 目标类型创建一个样式来解决这个问题。
这是xaml代码:
<Window.Resources>
<Style TargetType="local:PackIconTest">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Path Data="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Data}"
Stroke="Black"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
- 1 回答
- 0 关注
- 272 浏览
添加回答
举报
0/150
提交
取消