3

ImageTextRadioButtonテキストと画像を含むボタンのようなRadioButtonの次のテンプレートがあります。

<ControlTemplate TargetType="RadioButton" x:Key="ImageTextRadioButton">
  <Border  Background="{TemplateBinding Background}" BorderBrush="Black" CornerRadius="8" BorderThickness="2">
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width=".5*" />
        <ColumnDefinition Width="1*" />
      </Grid.ColumnDefinitions>
        <Image x:Name="ButtonImage" Grid.Column="0" Source="{TemplateBinding Content}" Stretch="None" />
        <TextBlock Grid.Column="1" VerticalAlignment="Center" Text="{TemplateBinding Content}" />
    </Grid>
  </Border>
</ControlTemplate>

(TemplateBindingsのコンテンツは、画像ファイルのパス+ファイル名を含む単なる文字列であることに注意してください)。

これは、実行モードでは期待どおりに機能しますが、デザインモードでは画像が表示されません。テキストブロックには正しいテキストが表示されますImage.Source。をハードコードされた値に置き換えると、画像も正しく表示されます。TemplateBindingただし、ソースを使用したデザインモードでは、画像が正しく表示されません。

4

1 に答える 1

3

ああ、私は埋め込みリソースとして.pngファイルを持っていたので、コンバーターにファイル名を報告する必要がありまし"/MyProject;component/images/" + value + ".png""../images/" + value + ".png" 。コンバーターに変更を加えると、すべてが機能しました。

于 2012-04-20T15:23:04.300 に答える