第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WPF MVVM DataGrid 內(nèi)容不適合行高變化

WPF MVVM DataGrid 內(nèi)容不適合行高變化

C#
qq_花開花謝_0 2022-11-13 15:47:55
我需要使我的行高可變,以便我可以允許某些行添加其他信息。設(shè)置RowHeight值似乎沒有任何區(qū)別。DataGridTextColumn由于所有內(nèi)容都已綁定 (MVVM) ,因此在 的級別沒有要設(shè)置高度的值。            <Border Grid.Row="1"       Grid.Column="1"                    HorizontalAlignment="Right" Margin="9" Width="auto" Visibility="{Binding LogVisibility}" VerticalAlignment="Stretch">        <DataGrid AutoGenerateColumns="False" VerticalContentAlignment="Center" ItemsSource="{Binding EventLog}" RowHeight="100" Background="White" CellStyle="{StaticResource cellStyle}" ColumnHeaderStyle="{StaticResource headerStyle}" CanUserAddRows="False">            <DataGrid.Columns>                <DataGridTemplateColumn Header="Type" SortMemberPath="CategoryDescription">                    <DataGridTemplateColumn.CellTemplate>                        <DataTemplate>                            <StackPanel Orientation="Horizontal">                                <Image Source="{Binding Image}" MaxHeight="15" MaxWidth="15" VerticalAlignment="Center"/>                                <TextBlock Text=" "/>                                <TextBlock Text="{Binding CategoryDescription}" TextWrapping="Wrap"/>                            </StackPanel>                        </DataTemplate>                    </DataGridTemplateColumn.CellTemplate>                </DataGridTemplateColumn>                <!--<DataGridTextColumn Header="Type" Binding="{Binding CategoryDescription}"></DataGridTextColumn>-->                <DataGridTextColumn Header="Date" Binding="{Binding Date}"/>                <DataGridTextColumn Header="Details" Binding="{Binding TypeDescription}" MaxWidth="400"/>            </DataGrid.Columns>        </DataGrid>    </Border>設(shè)置的值RowHeight="{x:Static sys:Double.NaN}"不會改變?nèi)魏螙|西,而是看到截斷的文本,如下所示:
查看完整描述

1 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗 獲得超3個贊

是的,如果您為 DataGridTextColumn 添加帶有文本塊包裝的自定義樣式,這是可能的


<DataGridTextColumn.ElementStyle>

   <Style>

       <Setter Property="TextBlock.TextWrapping" Value="Wrap" />

   </Style>

</DataGridTextColumn.ElementStyle>

您只需要將 TextWrapping 添加為Wrap或WrapWithOverflow您可以在此處查看差異。另外要使其工作,您需要刪除RowHeight或者您可以將其更改為


RowHeight="100"


MinRowHeight="100"

它確保您的行高至少為 100,并且如果文本不適合 - 該特定行的大小可以變長,但對于原始行高,它不能更改大小并且所有行的高度都固定為 100。順便說一句,100 似乎太高了,可能 20-ish 會很整潔。


試試這段代碼,我還在 Justify 中添加了 TextAlignment 以防你發(fā)現(xiàn)它有用。


        <Border Grid.Row="1"

                Grid.Column="1"

                Width="auto"

                Margin="9"

                HorizontalAlignment="Right"

                VerticalAlignment="Stretch"

                Visibility="{Binding LogVisibility}">

            <DataGrid VerticalContentAlignment="Center"

                      AutoGenerateColumns="False"

                      Background="White"

                      CanUserAddRows="False"

                      CellStyle="{StaticResource cellStyle}"

                      ColumnHeaderStyle="{StaticResource headerStyle}"

                      ItemsSource="{Binding EventLog}"

                      MinRowHeight="20">

                <DataGrid.Columns>

                    <DataGridTemplateColumn Header="Type"

                                            SortMemberPath="CategoryDescription">

                        <DataGridTemplateColumn.CellTemplate>

                            <DataTemplate>

                                <StackPanel Orientation="Horizontal">

                                    <Image MaxWidth="15"

                                           MaxHeight="15"

                                           VerticalAlignment="Center"

                                           Source="{Binding Image}" />

                                    <TextBlock Text=" " />

                                    <TextBlock Text="{Binding CategoryDescription}"

                                               TextWrapping="Wrap" />

                                </StackPanel>

                            </DataTemplate>

                        </DataGridTemplateColumn.CellTemplate>

                    </DataGridTemplateColumn>

                    <!--<DataGridTextColumn Header="Type" Binding="{Binding CategoryDescription}"></DataGridTextColumn>-->

                    <DataGridTextColumn Binding="{Binding Date}"

                                        Header="Date" />

                    <DataGridTextColumn MaxWidth="400"

                                        Binding="{Binding TypeDescription}"

                                        Header="Details">

                        <DataGridTextColumn.ElementStyle>

                            <Style>

                                <Setter Property="TextBlock.TextWrapping" Value="Wrap" />

                                <Setter Property="TextBlock.TextAlignment" Value="Justify" />

                            </Style>

                        </DataGridTextColumn.ElementStyle>

                    </DataGridTextColumn>

                </DataGrid.Columns>

            </DataGrid>

        </Border>


查看完整回答
反對 回復(fù) 2022-11-13
  • 1 回答
  • 0 關(guān)注
  • 341 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號