当我在WPF中使用ListView时,它总是在ListView的末尾生成一个额外的列.例如,如果我在listview中定义了两列,当我运行它时,它会生成这两列以及一个空列标题.知道如何删除它吗?
示例ListView XAML
<ListView ItemsSource="{Binding Path=SearchAttributes}"
DockPanel.Dock="Top">
<ListView.View>
<GridView x:Name="grdView">
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding SearchFieldName}" />
<GridViewColumn Header="Balance" Width="Auto"
CellTemplateSelector="{StaticResource searchFilterDataTemplateSelector}"
>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)
谢谢,Jithu
我正在使用ComboBox其IsEditable值设置为true 的WPF .基本上,我有一个项目列表显示在ComboBox.如果用户没有找到合适的时间,用户可以输入时间ComboBox.
我已将ValidationRule附加到my,ComboBox.SelectedItem以便每当用户选择一个时间时,我的ValidationClass被调用(从ValidationRule派生).这一切都很好.
由于我ComboBox是可编辑的,用户可以输入自己的时间.每次输入值int时都会调用验证类,ComboBox并且传递给该类的值是我输入的值.现在问题是,如果用户键入的值不是comobbox项的一部分验证类以null值调用,因此无法验证任何内容.
谁能告诉我如何验证ComboBox.Text用户输入的项目?
我的验证课程:
public class TimeValidateRule : ValidationRule
{
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
TimeClass timeObj = value as TimeClass;
TimeSpan time;
if(timeObj == null)
return new ValidationResult(false, "Invalid Time");
if(timeObj.Time.Length < 5)
return new ValidationResult(false, "Invalid Time");
try
{
time = TimeSpan.Parse(timeObj.Time);
}
catch
{
return new ValidationResult(false, "Invalid Time");
}
// Get Current time (Arizona …Run Code Online (Sandbox Code Playgroud)