【发布时间】:2014-09-16 08:16:43
【问题描述】:
我在 DataGrid 中有一个 DatePicker。我在 DatePicker 上也有一些转换器。转换器没有被解雇。我认为这是因为 DatePicker 有自己的验证/转换器。有人能帮帮我吗?
这是我的代码:
<UserControl x:Class="RemoteTasks.Controls.TimecardEntry"
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"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d" Name="uiTimecardEntry"
d:DesignHeight="150" d:DesignWidth="550">
<Grid>
<Grid.Resources>
<ResourceDictionary Source="/RemoteTasks;component/Resources.xaml"/>
</Grid.Resources>
<DataGrid Name="uiDataGrid" Background="{x:Null}" BorderBrush="{x:Null}" ItemsSource="{Binding Source={StaticResource TimecardDetailsCVS}}" AutoGenerateColumns="False"
GridLinesVisibility="Horizontal" AlternationCount="2" RowBackground="#11000000" RowHeight="30"
AlternatingRowBackground="#00000000" HorizontalGridLinesBrush="#00000000" HeadersVisibility="Column" DataContextChanged="uiDataGrid_DataContextChanged">
<DataGrid.Columns>
<DataGridTextColumn Width="60" Header="Id" Binding="{Binding Id}"/>
<DataGridTemplateColumn Width="150" Header="Date" SortMemberPath="Date">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Date, Converter={StaticResource DateConverter}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Start Time" Binding="{Binding StartTime, Converter={StaticResource TimeConverter}}"/>
<DataGridTextColumn Header="Stop Time" Binding="{Binding StopTime, Converter={StaticResource TimeConverter}}"/>
<DataGridTextColumn Header="Hours" Binding="{Binding Hours}"/>
<DataGridTextColumn Width="*" Header="Description" Binding="{Binding Description}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
再次感谢任何帮助。
【问题讨论】:
-
转换器返回什么值?
-
您的输出中是否显示任何绑定错误?
StaticResource的DateConverter声明在哪里? -
实际上我得到了它的工作。我会在答案中发布。
标签: c# wpf xaml user-interface datepicker