1

Button特定のテキストを含む行を持つ、グリッドを含むを作成しようとしています。

にはButton2 つの行があり、両方ともテキストが異なります。に渡されたControlTemplateテキストは表示されていますが、テンプレートで指定されたテキストは表示されていません。

また、グリッド行の高さが表示されていません。ボタンの高さを広げたい。実際、グリッドが実際に表示されているかどうかはわかりません。

<Window x:Class="MAQButtonTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="695" Width="996">        
    <Window.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
        </Style>
        <ControlTemplate TargetType="Control" x:Key="1">
            <Grid Width="444">
                <Grid.RowDefinitions>
                    <RowDefinition Height="51" />
                    <RowDefinition Height="36" />
                </Grid.RowDefinitions>
                <Grid Grid.Row="0" Background="#286c97">
                    <TextBlock>This is the first piece of text</TextBlock>
                </Grid>
                <Grid Grid.Row="1" Background="#5898c0">
                    <ContentPresenter Grid.Row="0" />
                </Grid>
            </Grid>
        </ControlTemplate>
    </Window.Resources>
    <Grid>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="300" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid Grid.Column="0" Background="#e9f1f6"></Grid>
        <Grid Grid.Column="1" Background="#d2e3ed">
            <StackPanel>
                <TextBlock FontFamily="Segoe UI" FontSize="22" FontWeight="Medium" Margin="52,58,0,0" Foreground="#0c3d5d">Your Quizzes <TextBlock FontFamily="Segoe UI" FontSize="18" FontWeight="Medium" Foreground="#0c3d5d">(7)</TextBlock></TextBlock>
                <Grid>
                    <Button Width="444" Background="{x:Null}" BorderThickness="0" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
                        <TextBlock>This is a second piece of text</TextBlock>
                    </Button>
                </Grid>
            </StackPanel>
        </Grid>

    </Grid>
</Window>

これは、ボタンレイアウトとして達成しようとしていることの大まかな図で、現時点でどのように表示されるかです。

現在 vs 欲しいもの

4

2 に答える 2

3

テンプレートを設定する必要があるときに、ボタンのスタイルを設定します

リソース:

    <ControlTemplate TargetType="Button" x:Key="ButtonTemplate">
        <Grid Width="444">
            <Grid.RowDefinitions>
                <RowDefinition Height="51" />
                <RowDefinition Height="36" />
            </Grid.RowDefinitions>
            <Grid Grid.Row="0" Background="#286c97">
                <TextBlock>This is the first piece of text</TextBlock>
            </Grid>
            <Grid Grid.Row="1" Background="#5898c0">
                <ContentPresenter />
            </Grid>
        </Grid>
    </ControlTemplate>

そしてボタン:

    <Button Template="{StaticResource ButtonTemplate}" >
        Text 2
    </Button>
于 2012-05-22T23:13:58.557 に答える
0

TargetType を「コントロール」として使用する理由は、ボタンを使用することです。ボタンを定義する必要があります。Blend を使用してボタン テンプレートを編集し、不要なコンテンツをすべて取り除きます。

于 2012-05-22T22:59:56.753 に答える