このXAMLコードをC#コードに変換するにはどうすればよいですか?このXAMLコードをC#コードに変換するにはどうすればよいですか?
<Window.Resources>
<DataTemplate x:Key="itemtemplate">
<TextBlock Text="{Binding Path=Text}"/>
</DataTemplate>
</Window.Resources>
このXAMLコードをC#コードに変換するにはどうすればよいですか?このXAMLコードをC#コードに変換するにはどうすればよいですか?
<Window.Resources>
<DataTemplate x:Key="itemtemplate">
<TextBlock Text="{Binding Path=Text}"/>
</DataTemplate>
</Window.Resources>
以下を試してください。ない不可欠WPFの専門家あなたは少し
public void Example()
{
var factory = new FrameworkElementFactory(typeof(TextBlock));
factory.SetBinding(TextBlock.TextProperty, new Binding("Text"));
var dataTemplate = new DataTemplate();
dataTemplate.VisualTree = factory;
dataTemplate.Seal();
}
C#からDataTemplatesを作成する正しい方法は、XamlReaderを使用して質問に書いたものを与えることです。
どちらが不快であるか、言い表せません。ごめんなさい。
これを変更する必要があるかもしれないので、私はちょうどオンラインドキュメントをチェックする - アランは正しいです - XamlReaderを使用しています。 Microsoftによると、FrameworkElementFactoryクラスはXAMLのすべての機能をサポートしておらず、将来的には廃止される可能性があります。
私は、DataTemplatesをオンザフライで変更するためにFrameworkElementFactoryを使用しましたが、問題はないと言いました。
なぜSeal()を呼び出していますか?これは、テンプレートを作成してTelerikグリッドにバインドしたときの問題を修正しましたが、DateTemplateを動的に作成するために見つけたすべての例で、他の人がSeal()を使用していませんでしたか? –
@RalphWillgossこの回答を書いてから4年が経ちましたが、その時に「シール」と呼ばれる理由を忘れてしまいました:( – JaredPar
ありがとう、私はもっと調査をして、私が見つけたものを見るかもしれません。私はそれがすべて働いている、何がフードの下で起こっているのか知りたい:-) –