Silverlight - Scrollviewer 中的 DataGrid,Column.Width ="*"使 datagrid 具有多个屏幕宽度

标签 silverlight silverlight-4.0 datagrid scrollviewer

当我进行以下设置时,最后一列宽度为 * 会导致数据网格创建巨大的水平滚动条(将网格扩展到屏幕的几个宽度)。我不确定这是为什么,但我真的需要一种方法来避免这种情况。我不想用 * 长度“模拟”列。

编辑:显然我不是唯一注意到这一点的人。
http://connect.microsoft.com/VisualStudio/feedback/details/559644/silverlight-4-datagrid-star-column-width

Xml:

<ScrollViewer Padding="0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"  >
    <sdk:DataGrid AutoGenerateColumns="False" x:Name="dg"/>
</ScrollViewer>

代码:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        dg.Columns.Add(new DataGridTextColumn { Binding = new Binding("A"), Header = "A" });
        dg.Columns.Add(new DataGridTextColumn { Binding = new Binding("B"), Header = "B" });
        dg.Columns.Add(new DataGridTextColumn { Binding = new Binding("C"), Header = "C" });
        dg.Columns[2].Width = new DataGridLength(1, DataGridLengthUnitType.Star);
        dg.ItemsSource = new[] 
        {
            new I { A = "SAF", B = "SAF", C = "SAF" },
            new I { A = "SAF", B = "SAF", C = "SAF" },
            new I { A = "SAF", B = "SAF", C = "SAF" }
        };
    }

    public class I
    {
        public string A { get; set; }
        public string B { get; set; }
        public string C { get; set; }
    }

最佳答案

您需要在滚动查看器上放置一个 maxwidth 吗?否则宽度默认为自动,最大宽度为无穷大

关于Silverlight - Scrollviewer 中的 DataGrid,Column.Width ="*"使 datagrid 具有多个屏幕宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5652195/

相关文章:

c# - 如何将 "Load More"按钮添加到列表框结果的底部?

Silverlight 4 和真正的 3d 支持

c# - 如何在编辑行后更改 DataGrid 行背景颜色

apache-flex - 柔性 :datagrid sorting doesn't seem to work

linux - 浏览器外的月光4

wcf - Silverlight 故障

silverlight - 如何在没有 DataForm 的情况下在代码后面使用 RIA 在数据库中插入新行?

silverlight - 如何使用 Silverlight 从 Microsoft Outlook 获取数据?

Silverlight 4 RichTextBox 使用 DataContext 绑定(bind)数据

wpf - 如何在 PowerShell ISE 中使用 WPF DataGrid (.Net 4.0)?