0

バインディング テキストをソース イメージ内の静的テキストと連結することは可能ですか? 例:

<Image Name="ImagePlace" Source="http://site.com/image/architecture.png"  Grid.Column="0" />
<Image Name="ImagePlace" Source="{Binding Path=Ico}"  Grid.Column="0" />

そして、2つのソースを連結したいと思います。

「architecture.png」などを含むフィールド Icon を含む Category という名前のオブジェクトのリストがあります。リストにバインドします。サイトのURLは変わりませんが、画像は常に変わります。

<ListBox x:Name="ListboxCategories">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                    <Button Name="category" Tag="{Binding Path=Id}" Tap="category_Tap_1">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="2*"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Image Name="ImagePlace" Source="http://www.test.com/assets/images/icons/tags/architecture.png"  Grid.Column="0" />
                            <TextBlock Text="{Binding Path=Title}" Grid.Column="1" HorizontalAlignment="Center" />
                            <Image Name="chevron" Grid.Column="2" Source="/Assets/AppBar/White/appbar.chevron.right.png" HorizontalAlignment="Right" Width="50" Height="50" />
                        </Grid>
                    </Button>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
4

1 に答える 1

2

最もクリーンな方法(アーキテクチャによって異なります)は、オブジェクトにプロパティを追加して連結を行うことです。

public string FullUri 
{ 
    get 
    { 
        return "http://site.com/image/" + this.Ico 
    } 
}

別の方法は、カスタムコンバーターを使用して連結を行うことです。

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    if (value == null)
    {
        return null;
    }

    return "http://site.com/image/" + value.ToString(); 
}
于 2013-03-14T13:21:00.500 に答える