在我的應用程序中,我必須在一個屏幕上顯示具有相同結構的多個網格控件(我使用DevExpress),因此我決定爲這些網格創建UserControl。在UserControl中綁定到DataGrid的ItemSource
<UserControl x:Class="MyApp.GridUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">
<Border BorderBrush="Black" BorderThickness="1">
<Grid>
<dxg:GridControl SelectionMode="Row"
AutoGenerateColumns="None">
<dxg:GridControl.Columns>
<dxg:GridColumn Header="{x:Static res:Resources.Time}" Binding="{Binding LessonTime}"/>
<dxg:GridColumn Header="{x:Static res:Resources.Lesson}" Binding="{Binding LessonName}"/>
<dxg:GridColumn Header="{x:Static res:Resources.Classroom}" Binding="{Binding Classroom}"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowEditing="False" AutoWidth="True" ShowGroupPanel="False">
</dxg:TableView>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</Border>
我希望能夠設置的ItemSource此GridControl在我窗口的XAML。我知道我必須使用DataContext屬性來執行此操作,但我不知道如何正確使用它。那麼,解決這個問題的最好方法是什麼?
你的意思是說你的'UserControl'將被用在一個Window上,並且你不想在你發佈的這個XAML中設置'ItemsSource',而是在Window的XAML中? – vesan
是的,這就是我想要實現的。我的問題是,我必須在我的窗口中使用幾個UserControls,所有與ItemSource不同的集合。 – floyd
當然,我可以在不使用UserControl的情況下在我的窗口中創建所有GridControls,但由於大量的可重複代碼,它不是最佳解決方案。 – floyd