Как я могу связать свой текст после границы? - PullRequest
2 голосов
/ 03 июля 2019

Я использую 3 столбца. Во-первых, я поставил простой Border, с этим проблем нет, но в третьем столбце я хочу, чтобы текст был в Border, и сразу после (справа) начать текст с возможностью переноса. Вставить текст легко, но я хочу использовать привязку, чтобы сделать его динамичным. Смотрите мои коды ниже, пожалуйста.

<Grid Grid.Row="1">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="10"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <Border Grid.Column="0" Background="Red" Height="15" Width="15" BorderBrush="Red" CornerRadius="100" Margin="5" Padding="5" VerticalAlignment="Top"/>
    <DockPanel Grid.Column="2" >
        <TextBlock TextWrapping="WrapWithOverflow"  Height="60" Width="450" LineHeight="20" LineStackingStrategy="BlockLineHeight" MaxWidth="{Binding ElementName=myWindowName, Path=ActualWidth}">
                <Border Background="Red" CornerRadius="10" Padding="10,0,10,0" Margin="0 -16 0 -5" Visibility="Visible" >
                    <TextBlock Text="Color and random text" Foreground="White" FontSize="12" FontWeight="Medium" />
                </Border>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
            incididunt ut labore et dolore magna aliqua. 
        </TextBlock>
    </DockPanel>
</Grid>

1 Ответ

1 голос
/ 03 июля 2019

Поместите динамический текст в элемент Run:

<TextBlock TextWrapping="WrapWithOverflow"  Height="60" Width="450" LineHeight="20" LineStackingStrategy="BlockLineHeight" 
        MaxWidth="{Binding ElementName=myWindowName, Path=ActualWidth}">
    <Border Background="Red" CornerRadius="10" Padding="10,0,10,0" Margin="0 -16 0 -5" Visibility="Visible" >
        <TextBlock Text="Color and random text" Foreground="White" FontSize="12" FontWeight="Medium" />
    </Border>
    <Run x:Name="run" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " />
</TextBlock>

Если вы присвоите элементу Run значение x:Name, вы можете динамически установить его свойство Text из выделенного кода.,Вы также можете привязать его Text свойство к исходному свойству модели представления:

<Run Text="{Binding DynamicText, Mode=OneWay}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...