相关疑难解决方法(0)

ListView.GridViewColumn(*)width

我使用的是ListView控件而不是DataGrid我的WPF应用程序.我想给*我的宽度ListView.GridViewColumn,但每当我提供*宽度时ListView.GridViewColumn,它给我一个编译时错误.请建议我如何提供*宽度ListView.GridViewColumn,以便ListView.GridViewColumn在我最大化屏幕时自动填充额外空间.

对此的任何帮助将非常感谢.谢谢

wpf listview gridview gridviewcolumn wpfdatagrid

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

DataGrid列宽不会自动更新

<DataGridTextColumn Binding="{Binding Name}" Width="*"/>
<DataGridTextColumn Binding="{Binding Change}" Width="Auto"/>
Run Code Online (Sandbox Code Playgroud)

Change更新的值时,其列不会更新以适合新值.因此列保持太小并且值被剪裁.
有任何想法吗?

.net c# wpf xaml datagrid

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

ListView列自动调整大小

假设我有以下ListView:

<ListView ScrollViewer.VerticalScrollBarVisibility="Auto">
  <ListView.View>
    <GridView>
      <GridViewColumn Header="Something" 
                      DisplayMemberBinding="{Binding Path=ShortText}" />
      <GridViewColumn Header="Description"
                      DisplayMemberBinding="{Binding Path=VeryLongTextWithCRs}" />
      <GridViewColumn Header="Something Else" 
                      DisplayMemberBinding="{Binding Path=AnotherShortText}" />
    </GridView>
  </ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)

我希望短文本列始终适合屏幕,而长文本列则使用剩余空间,必要时自动换行.

那可能吗?

wpf listview autosize

12
推荐指数
4
解决办法
5万
查看次数

GridViewColumn宽度调整

我的UI:

<ListView Name="persons" SelectionChanged="persons_SelectionChanged">
        <ListView.View>
            <GridView AllowsColumnReorder="False">
                <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="auto"/>
                <GridViewColumn Header="Age" DisplayMemberBinding="{Binding Age}" Width="auto"/>
            </GridView>
        </ListView.View>
    </ListView>
Run Code Online (Sandbox Code Playgroud)

我的UI的Codebehind:

internal void Update(IEnumerable<Person> pers)
    {
        this.persons.ItemsSource = null;
        this.persons.ItemsSource = pers;
        UpdateLayout();
    }
Run Code Online (Sandbox Code Playgroud)

我的实体:

class Person
{
   public string Name { get; set; }
   public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

GridViewColumns具有GridViewColumn-Header的宽度.即使我使用长名称的人调用Update().列不会调整大小.

a)如何自动调整"名称"列(当我调用更新时)到最长名称的长度,但不长于值x(我想指定列的最大宽度)?

b)如何指定"Age"-Column将空间填充到控件的末尾(以便gridview的列使用控件的完整宽度)?

.net c# wpf xaml gridview

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

WPF ListView GridView DisplayMemberBinding中心对齐内容

我正试图在ListView/Gridview中对齐数据,我使用DisplayMemberBinding.

这是(部分)我的gridview看起来如何:

<ListView>
    <ListView.View>
        <GridView>
            <GridView.Columns>
               <GridViewColumn DisplayMemberBinding="{Binding Path=Timi}" Width="Auto">
                   <GridViewColumnHeader Content="Tími" Click="GridViewColumnHeader_Click" ></GridViewColumnHeader>
                </GridViewColumn>
            </GridView.Columns>
        </GridView>
    </ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)

我尝试使用CellTemplate,就像在这个页面上解释 http://msdn.microsoft.com/en-us/library/system.windows.controls.gridviewcolumn.celltemplate.aspx 但它没有用,然后我读到了某个地方一个人不应该一起使用cellTemplate和DisplayMemberBinding.

所以问题是:当我使用DisplayMemberBinding将数据绑定到gridview时,如何使gridview数据居中?

提前致谢.

wpf listview gridview

4
推荐指数
2
解决办法
9521
查看次数

标签 统计

wpf ×5

gridview ×3

listview ×3

.net ×2

c# ×2

xaml ×2

autosize ×1

datagrid ×1

gridviewcolumn ×1

wpfdatagrid ×1