각 그림이 나타내는 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"폴더에 있어야합니다. Build Action은 Resource 여야합니다. 물론 다른 폴더 이름이나 폴더 구조를 사용할 수도 있습니다. "Images/MyPic0.jpg". – Clemens
파일이 있습니다. 처음부터 프로젝트의 리소스에 드래그 앤 드롭했습니다. 솔루션 탐색기의 리소스 폴더를 참조하십시오. 내게는 이상하게 보입니다. 왜냐하면 모든 것이 완벽하게 작동하기 때문에 Resource를 쓰지 않고도 'Content ='없이 직접 컨트롤에 이미지를 지정할 수 있습니다. 그리고 이러한 사용자 정의 RadioButton에 대해서는 실패합니다. –