1

私はWPFを初めて使用し、マウスオーバーでコントロールの子ContentControlのプロパティを変更する方法を理解できません。Button私のコードは次のようになります。

<Button x:Name="btnAddItem" Height="25" Width="25" Margin="5,0,0,0"
        Style="{DynamicResource btnStyle}" ToolTip="Add Item">
    <ContentControl Content="ContentControl" Height="20" Width="20"
            Template="{DynamicResource contentTemplate}" />
</Button>

さて、の場合MouseOver、子のサイズだけでなく、のサイズもButton変更したいと思います。実際には、のベクター画像が含まれています。助けてください。ButtonContentControlContentControlButton

4

2 に答える 2

1

内容のサイズに合わせて自動的にストレッチButtonされるので、コンテンツHeightWidthプロパティを削除します。Buttonの端とContentControlの間のスペースを維持する場合は、ContentControlのMarginプロパティを使用します。

次に、DataTriggerContentControlでaを使用して、マウスがその上にあるときに/Styleを変更します。タグではなくスタイルで/を設定してください。タグに設定すると、トリガーされた値よりも優先されるため、変更されることはありません。HeightWidthHeightWidth<ContentControl>

<Style x:Key="MyContentControlStyle" TargetType="{x:Type ContentControl}">
    <Setter Property="Height" Value="20" />
    <Setter Property="Width" Value="20" />
    <Setter Property="Margin" Value="5" />
    <Setter Property="Content" Value="ContentControl" />
    <Setter Property="Template" Value="{DynamicResource contentTemplate}" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding ElementName=btnAddItem, Path=IsMouseOver}" Value="True">
            <Setter Property="Height" Value="20" />
            <Setter Property="Width" Value="20" />
        </DataTrigger >
    </Style.Triggers>
</Style>


<Button x:Name="btnAddItem" Height="25" Width="25" Margin="5,0,0,0"
        Style="{DynamicResource btnStyle}" ToolTip="Add Item">
    <ContentControl Style="{StaticResource MyContentControlStyle}" /> 
</Button>
于 2012-01-23T14:32:06.203 に答える
0

私が望んでいたことを達成するために、私はレイチェルのアドバイスとサミュエル・スレイドのアドバイスを使用しました。私はそれを次のようにしました:

<Button  x:Name="btnEditItem"  Style="{DynamicResource btnStyle}" Margin="5,0,0,0"   ToolTip="Edit Item" Click="btnEditItem_Click"> 
<ContentControl x:Uid="ContentControl_5" Content="ContentControl" Template=" {DynamicResource contentTemplate}" Margin="2.5"/>
</Button>

そして、Setterプロパティを介してbtnStyleを介してボタンの高さと幅を設定し、トリガーを介してボタンの高さと幅を変更します。

これで私は完璧に仕事をすることができました。私はあなたのすべての助けの提案に感謝します。私は子供が財産を管理する別のルートを考えていたので、私がこの結論に達することができたかどうかはわかりません。再度、感謝します。

于 2012-01-24T07:09:43.953 に答える