簡體   English   中英

屬性 <Border> 周圍 <TextBlock> 蟲子

[英]Attribute <Border> around a <TextBlock> bug

我在這里是因為我有一個小問題。 我想在我的文本塊周圍添加邊框。 這是我當前的腳本(xaml):

<Grid>
    <Border Visibility="Visible" Width="1000" BorderBrush="Blue" BorderThickness="1">
        <TextBlock HorizontalAlignment="Left" Visibility="Visible" Foreground="Blue" TextAlignment="Center" FontSize="20" Margin="10,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="28.96" Width="980"><Run Language="fr-fr" Text="Fiche détails de la capitalisation"/></TextBlock>
    </Border>
    <TextBlock HorizontalAlignment="Left" Margin="10,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="édité le:"/></TextBlock>
    <TextBlock HorizontalAlignment="Left" Margin="390,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="Rafraichissement des données:"/></TextBlock>
</Grid>

我的問題是:即使我將border屬性設置為第一個文本塊,它也會應用於整個Grid,而我還沒有找到原因。

有人知道為什么嗎?

提前致謝。 弗洛里安·塞爾瓦(Florian SELVA)

您尚未在Grid定義任何行或列。 從技術上講,它只有1列和1行,並且Border適用於該行/列,因此它似乎包圍了整個Grid

由於無論如何都要明確地放置元素,因此請嘗試將<Grid>替換為<Canvas>

作為您當前情況下的解決方法,請嘗試以這種方式,將展示位置屬性移至邊框而不是基礎文本塊

<Grid>
    <Border Visibility="Visible" BorderBrush="Blue" BorderThickness="1" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Height="28.96" Width="980">
        <TextBlock Visibility="Visible" Foreground="Blue" TextAlignment="Center" FontSize="20" TextWrapping="Wrap"><Run Language="fr-fr" Text="Fiche détails de la capitalisation"/></TextBlock>
    </Border>
    <TextBlock HorizontalAlignment="Left" Margin="10,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="édité le:"/></TextBlock>
    <TextBlock HorizontalAlignment="Left" Margin="390,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="Rafraichissement des données:"/></TextBlock>
</Grid>

您想要實現的是第一行1個文本框,第二行2個文本框。 除非要定義網格的列和行,否則必須使用Stackpanel和Dock面板

通過設置網格寬度,您可以控制所有內容。 如果要在“編輯”和“刷新”之間留出空間,只需更改停靠面板上的Margin="0,20,0,0" ,例如Margin="0,20,0,0" ,如果您想在詳細信息文本塊和邊框上留出空間,就應該Margin="0,20,0,0"在邊框上放置Padding ,以防止內部的任何內容接近值集。

<Grid Width="500">
        <StackPanel>
            <Border BorderBrush="Blue" BorderThickness="1">
                <TextBlock Foreground="Blue" TextAlignment="Center" FontSize="20" TextWrapping="Wrap"><Run Language="fr-fr" Text="Fiche détails de la capitalisation"/></TextBlock>
            </Border>
            <DockPanel LastChildFill="True">
                <TextBlock TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="édité le:"/></TextBlock>
                <TextBlock TextWrapping="Wrap" VerticalAlignment="Top" HorizontalAlignment="Right"><Run Language="fr-fr" Text="Rafraichissement des données:"/></TextBlock>
            </DockPanel>
        </StackPanel>
    </Grid>

暫無
暫無

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

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