我創建了一個DataTemplate來管理ListBox中項目的顯示。當我在常規的WPF應用程序中打開該控件時,它可以正常工作。但是,當我在Windows窗體應用程序中託管的Windows窗體控件中打開它時,不會使用數據項模板。考慮到在這種情況下可能是「FindResource」的問題,我在代碼隱藏中添加了DataTemplate。在常規WPF應用程序中打開時,它再次正常工作,但在Windows窗體應用程序中打開時失敗。在Windows窗體控件中打開WPF控件時不使用DataTemplate
如果我設置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>
燦你發佈了代碼,在xaml中實際應用模板的地方。 – Hasanain