我在我的 XAML 中定义了一个按钮,它有一个按钮样式和一个矢量图形,它是这样定义的:
<Button
Height="48"
Width="48"
mvp:Presenter.Action="CreateStudentApplication"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Grid.Row="5"
Grid.Column="3"
Style="{DynamicResource BaseButton2}">
<ContentControl Template="{StaticResource ApplicationVector}"/>
</Button>
在我的代码隐藏中,我有一种方法可以动态地将与此类似的新按钮添加到 StackPanel。简而言之,它做了一些事情:
var button = new Button();
button.Height = 48;
button.Width = 48;
button.Tag = x.ID;
button.SetResourceReference(TemplateProperty, "ApplicationVector");
button.SetResourceReference(StyleProperty, "BaseButton2");
现在这是奇怪的部分——它只显示矢量图形,后面没有按钮。当我删除倒数第二行(带有矢量参考的行)时,它会显示按钮的样式!我假设设置模板会覆盖样式,但是它们似乎在 XAML 中友好地播放。我也尝试设置 ContentProperty instidead of TemplateProperty,但这导致了类型的字符串。有任何想法吗?谢谢!