リストボックス内のアイテムの表示を管理するために作成したDataTemplateがあります。通常のWPFアプリケーションでコントロールを開くと、正しく機能します。ただし、WindowsフォームアプリケーションでホストされているWindowsフォームコントロールで開くと、データテンプレートが使用されません。そのコンテキストでは「FindResource」に問題がある可能性があると考えて、コードビハインドにDataTemplateを追加しました。もう一度、通常のWPFアプリで開くと正しく機能しましたが、Windowsフォームアプリで開くと失敗しました。
ListBox自体の背景を設定すると、表示する必要のあるすべての項目の背景と空白行が表示されます。つまり、データがそこに到達していることがわかります。テンプレート自体が適用されないだけです。
Windowsフォームコントロールをロードするコード:
_elementHost = new ElementHost();
_elementHost.Dock = DockStyle.Fill;
this.Controls.Add(_elementHost);
NavigationControl userControl = new NavigationControl(); // the wpf control
_elementHost.Child = userControl;
dataTemplate xaml:
<DataTemplate x:Key="WorkingAccountResultTemplate" >
<StackPanel Orientation="Horizontal">
<TextBlock Text="Test" Width="50" Foreground="Purple" Background="AliceBlue"/>
<TextBlock Text="{Binding ItemKeyId}" HorizontalAlignment="Stretch" Background="Maroon" />
</StackPanel>
</DataTemplate>