3

この質問から抜け出すと、次のように定義されたテキストボックスがあります。

<TextBox>
    <TextBox.Background>
        <VisualBrush Stretch="Uniform">
            <VisualBrush.Visual>
                <StackPanel>
                    <TextBlock Background="Blue" Opacity="0.5" Text="155"/>
                </StackPanel>
            </VisualBrush.Visual>
        </VisualBrush>
    </TextBox.Background>
</TextBox>

これにより、次のTextBoxようになります。

背景のあるTextBox

ここで、backgroundプロパティを削除すると、TextBox次のようになります。

背景のないTextBox

私が欲しいのは、色付きの背景で2番目の画像を実現することです。たとえば、最初の画像では、残りの空白も背景色で塗りつぶしたいと思います。

4

1 に答える 1

1

Gridこれは、背景を追加することで実現できます。VisualBrushまた、そのグリッドに次を追加することもできますTextBox

<Grid>
    <Grid.Style>
        <Style TargetType="Grid">
            <Setter Property="Background">
                <Setter.Value>
                    <VisualBrush Stretch="Fill">
                        <VisualBrush.Visual>
                            <Rectangle Stretch="Fill" Stroke="Blue" Opacity="0.5" />
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Setter.Value>
            </Setter>
        </Style>
    </Grid.Style>
    <TextBox>
        <TextBox.Style>               
            <Style TargetType="TextBox">
                <Setter Property="Foreground" Value="Black" />                    
                <Setter Property="Background">
                    <Setter.Value>
                        <VisualBrush Stretch="Uniform">
                            <VisualBrush.Visual>
                                <TextBlock Foreground="Gray" Opacity="0.5" Text="155"/>
                            </VisualBrush.Visual>
                        </VisualBrush>
                    </Setter.Value>
                </Setter>
            </Style>
        </TextBox.Style>
    </TextBox>
</Grid>
于 2013-02-06T18:48:07.893 に答える