我正在尝试建立一个预订屏幕,其中列将是周一至周日。可能有多行,但我认为这不重要。我想添加七个用户控件并将每个控件绑定到一周中的不同日期。
我有一个带有usercontrol的数据网格,它正在运行。为了使它工作,我不得不将usercontrol绑定到datarow(Mon)上的特定属性。我希望能够告诉usercontrol通过xaml绑定到哪个属性
用户控件datagrid看起来像这样。
& foo.exe --% -name="john.doe" -request="delete file" -argument="\jdoe\temp\nsfwstash.zip"
在主窗口中,我将userControll添加到数据网格中,如此
<DataGrid
IsReadOnly="False"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionMode="Extended"
ItemsSource="{Binding Mon.BookingWeekBookingList, Mode=OneWay}"
SelectionUnit="FullRow"
EnableColumnVirtualization="True"
EnableRowVirtualization="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="Contract" Width="50*" IsReadOnly="True" Binding="{Binding Path=ContractId}" />
<DataGridTextColumn Header="Tonnes" Width="50*" IsReadOnly="True" Binding="{Binding Path=Tonnes}" />
</DataGrid.Columns>
</DataGrid>
如何更改它以便我在主窗口绑定中指定星期几?而不是用户控件上的itemsSource。
答案 0 :(得分:0)
我实际上非常接近,答案是像这样设置usercontrol的数据绑定
ItemsSource="{Binding BookingWeekBookingList, Mode=OneWay}"
然后在主窗口中
<DataGridTemplateColumn Header="Sunday" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<local:BookingWeekIntervalView DataContext="{Binding Path=Sun}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>