小编J W*_*J W的帖子

如何基于属性值禁用数据绑定ListBox项?

有没有人知道是否以及如何ListBox根据属性的值禁用数据绑定中的项目?

我想要一个DataTrigger,当某个属性是false,禁用这个项目(使其无法选择)而不影响其中的其他项目ListBox.

<ListBox>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <TextBlock Name="textBlock" Text="{Binding Description}"/>
      <DataTemplate.Triggers>
        <DataTrigger Binding="{Binding IsEnabled}" Value="False">
          ??
        </DataTrigger>
      </DataTemplate.Triggers>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

wpf xaml listbox datatemplate

30
推荐指数
1
解决办法
2万
查看次数

WPF的ICollectionView.filter包含大量数据

我正在开发一个wpf应用程序,其中包含一个包含大量数据(10 000到100 000)行的列表视图.用户可以将各种过滤器应用于此列表视图,使过滤器逻辑非常先进(并且速度慢).目前,我的代码的相关部分如下所示:

ICollectionView view = CollectionViewSource.GetDefaultView(hugeList.ItemsSource);
view.Filter = new Predicate<object>(FilterCallback);

private bool FilterCallback(object item)
{
  //Filter logic
}
Run Code Online (Sandbox Code Playgroud)

但是这会在UI线程中运行并在过滤时阻止整个应用程序,这会给用户带来非常糟糕的体验.所以我向大家提出的问题是:有没有人知道在wpf中过滤listview的"更好"的方式,还是应该过滤底层代码ObservableCollection

c# wpf listview filter

24
推荐指数
1
解决办法
2万
查看次数

在拖放过程中获取鼠标位置

有没有人知道如何在WPF中进行拖放操作时获得正确的鼠标位置?我已经使用Mouse.GetPosition()但返回的值不正确.

wpf mouse drag-and-drop position

16
推荐指数
1
解决办法
1万
查看次数

指定默认的空DataTemplate而不是默认的'ToString()'DataTemplate

wpf应用程序中的默认DataTemplate显示.ToString()方法的结果.我正在开发一个默认的DataTemplate应该不显示的应用程序.

我试过了:

<Grid.Resources>
  <DataTemplate DataType="{x:Type System:Object}">
   <Grid></Grid>
  </DataTemplate>
</Grid.Resources>
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有没有人知道如果没有为应用程序中的每个类类型指定特定的DataTemplate,这是否可行?

c# wpf default datatemplate

10
推荐指数
2
解决办法
7993
查看次数

将TFS纯粹用作项目管理工具是否有意义?

在不使用源代码管理和自动构建功能的情况下使用Team Foundation Server的项目管理功能是否有意义?我们在非.NET环境中做敏捷,并使用TFS来管理项目,但继续使用当前使用的源代码控制和构建软件.

提前致谢,

agile tfs project-management process project

4
推荐指数
1
解决办法
3652
查看次数

ColumnDefinition MinWidth无法正常工作

我在WPF(xaml)中使用Grid,并且在ColumnDefinition中使用MinWidth属性时我有一些奇怪的效果.例如,当我使用9 ColumnDefinition并且每个ColumnDefinition具有'Width ="*"'属性并且其中一个中间列也具有MinWidth属性时,则其他列的大小是错误的.

好吧,很难描述,但这个xaml代码很好地说明了它:

  <Grid Width="500">  
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*" MinWidth="250"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Border Grid.Column="0" Background="Green"/>
    <Border Grid.Column="1" Background="Blue"/>
    <Border Grid.Column="2" Background="Red"/>
    <Border Grid.Column="3" Background="Yellow"/>
    <Border Grid.Column="4" Background="Purple"/>
    <Border Grid.Column="5" Background="Orange"/>
    <Border Grid.Column="6" Background="Azure"/>
    <Border Grid.Column="7" Background="LightBlue"/>
    <Border Grid.Column="9" Background="LightGreen"/>
  </Grid>
Run Code Online (Sandbox Code Playgroud)

运行此xaml代码时,您将看到前3列的宽度与最后5列的宽度不同.我希望所有这些都具有相同的宽度.

有谁知道这是一个错误.如果有办法正确地做到这一点.

提前致谢.

css wpf grid xaml width

3
推荐指数
1
解决办法
6039
查看次数