コントロールの外観をオーバーライドするためにWPFカスタムコントロールを作成することができます。&アイコンボタンのような感じです。WPF:プログラムで定義コントロールテンプレート
public class MyButton : Button {
static MyButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyButton), new FrameworkPropertyMetadata(typeof(MyButton)));
}
...
}
しかし、私はその方法には問題があると思います。それは私がカスタムのCotrol 'MyButton'を配布するときに何らかの問題を引き起こします。 MyButtonは外部リソースに依存するため、WPF Style MyButton。だから私は2つのファイルを配布する必要があります:MyButton.csとMyButton.WPF。
ですから、私はどのようにしてConotrolテンプレートをプログラムで定義できますか?
(原因のうち、問題を解決するための別の方法は、WPFユーザーコントロールを行っているが、私のポイントはそれではありません。。)
注:私はこの問題について、いくつかのリソースを発見しました。それはインラインXAMLスクリプトでした。しかし、私にとっては、XAMLスクリプトはオプションではありません。私はWPFで学んでいるので、私はWPFそのものを知りたいです。
ありがとうございました。しかし問題はまだ残っている。カスタムコントロールをアセンブリではなくソースコードで配布する場合、XAMLと.csの2つのファイルが必要です。 そして、率直に言って、私の関心は、プログラムではなく、配布で定義コントロールテンプレートです。ありがとうございます。 ありがとうございます。 – mjk6026
次に、私の答えの編集部分にある部分を使用してください。もう1つのハックは、長い文字列でテンプレートを指定し、XAMLパーサーを使用してテンプレートをロードすることです。 –
@ mjk6026、BTW:xamlもWPFです。同じことを書くもう一つの方法。ありがとうございます。 –