0

在我的第二个网格中,我在 Width="800" 处有一个列定义,我希望有类似 1* 的响应,并且我的文本会根据网格列的实际宽度的大小进行修剪。

例如:

我的文本在第一列中有一个 40x40 像素的图像。我的文字会很长,比如说 1000 像素

如果我的整体网格宽度为 1000 像素。

我将在第二列中有 200 像素,在第一列中有 800 像素,这将使我的文本修剪为 800 - 40 像素 = 760 像素

如果我的整体网格宽度为 500 像素。

我将在第二列中有 100 个像素,在第一列中有 400 个像素,这将使我的文本修剪为 400 - 40 像素 = 360 像素,

等等

     <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="4*" />
                <ColumnDefinition Width="1*" />
            </Grid.ColumnDefinitions>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="800" /> <!--Instead of 800 I want to put 1*-->
                </Grid.ColumnDefinitions>
                <Image
                    Height="40"
                    Margin="7"
                    Source="{Binding FileIcon}"/>
                <TextBlock
                    Grid.Column="1"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Center"
                    Text="{Binding SomeLongText}"
                    TextTrimming="CharacterEllipsis" />
            </Grid>
            <!--<Grid Grid.Column="1"> Other stuff here responsive </Grid>-->
    </Grid>

你能帮我吗?

谢谢,奥利维尔

4

0 回答 0