0

Image の値を Image2 の値にバインドする方法

<Style x:Key="ImageButton" TargetType="c:ImageButton">
       <Setter Property="Image" Value="/*My image 1*/" />
       <Setter Property="Image2" Value="/*My image 2*/" />
       <Setter Property="Template">
          <Setter.Value>
             <ControlTemplate TargetType="c:ImageButton">
                   <StackPanel Orientation="Horizontal" Height="30" Width="30">
                       <Image Width="30" Height="30" Source="{TemplateBinding Image}" />
                    </StackPanel>
             </ControlTemplate>
          </Setter.Value>
       </Setter>
        <Style.Triggers>
           <Trigger Property="IsMouseOver" Value="True">
               <Setter Property="Image" Value="{Binding to Property Image2 value}" /> // How bind value to Image2
           </Trigger>
       </Style.Triggers>

</Style>
4

3 に答える 3

8

Image2は のプロパティであるため、 を使用ImageButtonしてバインド ソースをImageButtonコントロールに設定RelativeSource Selfし、Image2プロパティにバインドするだけです。

<Setter Property="Image" 
        Value="{Binding Image2, RelativeSource={RelativeSource Self}}" />
于 2013-02-01T15:29:25.573 に答える
0

Image1次を使用してアクセスを試みることができますElementName

{Binding ElementName=Image1, Path=DataContext}

次のように定義Image1していることを確認してください

<Image Name="Image1" Width="30" Height="30" Source="{TemplateBinding Image}" />
于 2013-02-01T11:27:37.407 に答える
-1

あなたのケースでうまくいくかどうかはわかりませんが、次のコードを試すことができます:

<Style x:Key="ImageButton" TargetType="c:ImageButton">
    <Setter Property="Image" Value="/*My image 1*/" />
    <Setter Property="Image2" Value="/*My image 2*/" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="c:ImageButton">
                <StackPanel Orientation="Horizontal" Height="30" Width="30">
                    <Image x:Name="MyImage" Width="30" Height="30" Source="{TemplateBinding Image}" />
                </StackPanel>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter TargetName="MyImage" Property="Source" Value="{TemplateBinding Image2}"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>                
        </Setter.Value>
    </Setter>
</Style>
于 2013-02-01T11:44:56.630 に答える