3

ImageコントロールにURIを割り当てたい。次のXAMLはUserControlにあります。

<StackPanel>
    <Button Command="{StaticResource ImageClick}" x:Name="imageButton">
        <Button.Template>
            <ControlTemplate>
                <Grid>
                    <Image MaxHeight="100" MaxWidth="300" x:Name="image" />
                </Grid>
            </ControlTemplate>
        </Button.Template>
    </Button>
</StackPanel>

私はコードビハインドに画像のURLを持つ依存関係プロパティを持っています:

public string ImageUrl
{
    get { return (string)GetValue(ImageUrlProperty); }
    set { SetValue(ImageUrlProperty, value); }
}

// Using a DependencyProperty as the backing store for ImageUrl.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty ImageUrlProperty =
    DependencyProperty.Register("ImageUrl", typeof(string), typeof(ImageControl), new PropertyMetadata(""));

ControlTemplateにある画像のSourceプロパティを割り当てるためのベストプラクティスは何ですか?

4

1 に答える 1

1

コンテンツプレゼンターを使用して、ボタンのコンテンツに画像を配置するだけでもかまいません。

<StackPanel>
    <Button Command="{StaticResource ImageClick}"
        x:Name="imageButton">
        <Button.Template>
            <ControlTemplate>
                <Grid>
                    <ContentPresenter />
                </Grid>
            </ControlTemplate>
        </Button.Template>
        <Image MaxHeight="100"
               MaxWidth="300"
               x:Name="image" />
    </Button>
</StackPanel>

コードでPropertyChangedCallbackを使用して、画像のソースを設定します。

于 2013-03-06T09:16:57.017 に答える