ボタン スタイルとベクター グラフィックを持つ 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");
ここで奇妙な部分があります。ベクター グラフィックのみが表示され、その後ろにボタンは表示されません。最後から 2 番目の行 (ベクトル参照のある行) を削除すると、本来あるべきスタイルのボタンが表示されます! テンプレートを設定するとスタイルがオーバーライドされると想定していますが、XAML では友好的に機能しているようです。また、TemplateProperty の代わりに ContentProperty を設定しようとしましたが、これは型の文字列になりました。何か案は?ありがとうございました!