簡體   English   中英

WPF DataGridTemplateColumn Width="*" 標題太寬

[英]WPF DataGridTemplateColumn Width="*" Header too wide

我正在嘗試使用“*”分配 DataGrid 中每個 DataGridTemplateColumn 的寬度。

<DataGrid  Name="Mapping" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="1"                   
    ItemsSource="{Binding Information.Signals}" 
             SelectionMode="Single"  AutoGenerateColumns="False" VirtualizingPanel.IsVirtualizing="True" FontSize="10" 
             RowDetailsVisibilityMode="VisibleWhenSelected" BorderThickness="1"   
             EnableColumnVirtualization="True" EnableRowVirtualization="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.IsDeferredScrollingEnabled="True"
             ScrollViewer.CanContentScroll ="True" VirtualizingPanel.VirtualizationMode="Recycling"
             CanUserAddRows="True" CanUserResizeRows="False" CanUserDeleteRows="True"  SelectionUnit="FullRow"
             ScrollViewer.HorizontalScrollBarVisibility="Auto" 
          >
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Name"
                                CellTemplate="{StaticResource NameTemplate}" 
                                CanUserSort="True" CanUserReorder="False" CanUserResize="True" SortMemberPath="Name"                                                                           
                                Width="6*"
                                >
        </DataGridTemplateColumn>
        <DataGridTemplateColumn Header="Type" 
                                CellTemplate="{StaticResource PropertyTemplate}" 
                                CanUserSort="True" CanUserReorder="False" CanUserResize="True"  SortMemberPath="SelectedProperty"                                    
                                Width="4*">
        </DataGridTemplateColumn>

並且 ColumnTemplates 類似於這個

        <DataTemplate x:Key="NameTemplate">
            <Grid HorizontalAlignment="Stretch" VerticalAlignment="Center">
                <TextBlock Text="{Binding Path=Name}" MinWidth="280" FontSize="11" FontFamily="Calibri"  
                                       HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
            </Grid>
        </DataTemplate>

當窗口最大化時,縮放工作正常。 發生的情況是,當它沒有最大化時,標題幾乎是 3 個監視器寬,比如 3000 像素。

如果我將寬度設置為固定值,一切都很好。 誰能建議我如何解決這個問題? 我想使用“*”來使用相對縮放

更新:WPF 項目正在使用 MahApps 控件,所以我不確定這是否是原因。

使用“*”應用時的寬度和高度是在計數“1”時測量的。 因此,每當您分割屏幕時,它都必須被分割,例如分割一個完整的部分。

使用 4* 和 6* 是不正確的。 改用 0.4* 和 0.6*,總和為 1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM