それぞれが画像で表されるRadioButtonの配列によって実現されるコントロールでWPFウィンドウを作成しようとしています。私はthis exampleで提供されるテンプレートを使用しましたので、テンプレートは以下のようになります。WPFのカスタムコントロール用のResourcesフォルダの画像
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Background="Transparent"
CornerRadius="20">
<Image Source="{Binding Path=Content,
RelativeSource={RelativeSource TemplatedParent}}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
今の問題は、制御上の画像を設定するために、私は絵の全体のパスを記述する必要があり、ということです、その
<RadioButton Name="radioButtonNo" Checked="radioButton_Checked"
Content="C:\Myfolder\MyProject\Resources\MyPic0.png"
Style="{StaticResource Flag}" Width="75"/>
のように当然のことながら、私は
<RadioButton Name="radioButtonNo" Checked="radioButton_Checked"
Content="MyPic0.png"
Style="{StaticResource Flag}" Width="75"/>
ような何かを書くことができるようにしたいと思いますが、私はこれを行うとき、私が得るすべてはのようにファイル名を持つ標準のRadioButtonです キャプション。私は間違って何をしていますか?
まあ、私は 'Content = "Resources/MyPic0.png"とさまざまな長さのパスを試して、手動でプレフィックスを追加しました。私の場合はうまくいかなかった。 UriSourceを指定しようとすると(どちらの方法でも提案されているように)、完全なパスをキャプションとして持つ標準のRadioButtonが作成されました。 –
イメージファイルは、Visual Studioプロジェクトの "Resources"という名前のフォルダにある必要があります。ビルドアクションはリソースでなければなりません。もちろん、他のフォルダ名やフォルダ構造を使用することもできます。 "Images/MyPic0.jpg" – Clemens
ファイルがあります。最初にプロジェクト内のリソースにドラッグアンドドロップします。ソリューションエクスプローラのリソースフォルダを参照してください。 「Content =」を使わずに、コントロール用のイメージを直接指定すると、リソースを書く必要もなく、すべてが完璧に動作するので、私にとっては奇妙に見えます。しかし、これらのカスタムRadioButtonでは失敗します。 –