Предотвратить изменение размера родительского элемента ребенком - PullRequest
5 голосов
/ 04 сентября 2011

есть ли возможность предотвратить изменение размера родительского блока для текстового блока?У меня есть текстовый блок с большим количеством текста, и я хочу его обернуть, но не для увеличения размера родителей.Размер родителя может быть переменным.Привет Томас

Ответы [ 2 ]

6 голосов
/ 04 сентября 2011

К сожалению, нет свойства для этой функции.

Единственный обходной путь, о котором я знаю, это либо использовать существующий элемент управления, либо поместить другой скрытый элемент управления в то же пространство, а затем привязать Width вашего TextBlock/TextBox к ActualWidth этого элемента управления.

Вот пример, когда TextBlock не влияет на Width из ColumnDefinition, но станет шире, если ColumnDefinition изменен по другой причине

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="1"
               TextWrapping="Wrap"
               Text="{Binding ...}"
               Width="{Binding ElementName=sizingControl, Path=ActualWidth}"/>
    <Rectangle Name="sizingControl" Grid.Column="1" Visibility="Hidden" />
</Grid>
1 голос
/ 04 сентября 2011

Чтобы это работало, вам нужно установить ширину родительского элемента или поместить другую сетку или какой-либо контейнер внутри родительского элемента, который содержит текстовый блок.Затем установите ширину на этом.Текстовый блок не будет перенесен на гибкий родительский элемент.

Или еще лучше, просто установите ширину текстового блока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...