0

XAML と C# を使用してストア アプリを作成しています。Border と ViewBox を使いたいです。境界線のスタイルを設定したので、プロパティを何度も設定する必要はありません。BorderThickness を 2 に、color を White に設定しましたが、Viewbox で問題が発生します。

ここに XAML があります。

<Viewbox Grid.Row="1" Stretch="Uniform">
  <Grid Width="600" Height="600">
    <Grid.Resources>
      <Style TargetType="Border">
        <Setter Property="BorderBrush" Value="White" />
        <Setter Property="BorderThickness" Value="2" />
      </Style>
      <Style TargetType="Grid">
        <Setter Property="VerticalAlignment" Value="Top" />
        <Setter Property="HorizontalAlignment" Value="Left" />
        <Setter Property="Width" Value="150" />
        <Setter Property="Height" Value="150" />
      </Style>
    </Grid.Resources>

    <StackPanel Orientation="Vertical">
      <StackPanel Orientation="Horizontal">
        <Grid>
          <Border>
            <Viewbox>
              <TextBlock Text="T" />
            </Viewbox>
          </Border>
        </Grid>

この結果は次のとおりです。

ここに画像の説明を入力

問題は、文字「T」の周りの拡大された境界線です。

Grid.Resources の Border の上記のスタイリングを削除したくありません。これまでのところ、解決策は1つしか見つかりませんでした...

            <Viewbox>
              <Viewbox.Resources>
                <Style TargetType="Border">
                  <Setter Property="BorderBrush" Value="White" />
                  <Setter Property="BorderThickness" Value="0" />
                </Style>
              </Viewbox.Resources>
              <TextBlock Text="T" />

...正しい結果が得られるもの:

ここに画像の説明を入力

、しかし、これらの行を各 ViewBox の後に配置したくありません。また、太い境界線がゼロのデフォルトの「リソース」を持つコンポーネントを作成しようとしましたが、スケーリングが不適切でした。

だから私の質問は、その境界線を削除する方法ですか?

4

1 に答える 1