WPF에서 이미지 단추를 만들려고합니다. 내가 한 일은템플릿 바인딩에서 상대 경로가 해결되지 않음 WPF
- 단추에서 상속 된 사용자 정의 컨트롤을 만들고 필요한 이미지가 있어야하는 종속성 속성을 선언합니다.
- 리소스 사전에 xaml 템플릿을 선언하십시오.
- 해당 종속성 속성에 대한 상대 경로와 전체 경로를 전달합니다. 전체 경로는 작동하지만 상대 경로는 아닙니다. 사용자 컨트롤 클래스
public class ButtonWithImage : Button { public ImageSource ButtonImage { get { return (ImageSource)GetValue(ButtonImageProperty); } set { SetValue(ButtonImageProperty, value); } } // Using a DependencyProperty as the backing store for ButtonImage. This enables animation, styling, binding, etc... public static readonly DependencyProperty ButtonImageProperty = DependencyProperty.Register("ButtonImage", typeof(ImageSource), typeof(ButtonWithImage)); }
리소스 사전 코드
<Style x:Key="ButtonWithImageStyle" TargetType="complaintRegister:ButtonWithImage"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="complaintRegister:ButtonWithImage"> <StackPanel> <Image Source="{Binding ButtonImage, RelativeSource={RelativeSource TemplatedParent}}" Width="50" Height="50"/> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </StackPanel> </ControlTemplate> </Setter.Value> </Setter> </Style>
XAML
<complaintRegister:ButtonWithImage x:Name="ButtonAdd" Content="Add New Complaint" Style="{StaticResource ButtonWithImageStyle}" ButtonImage="Resources\Plus.png" Width="150" Height="75" Margin="10 0" Command="{Binding NewCommand}"> </complaintRegister:ButtonWithImage>
오류
그것은 디자인 모드에서 이미지를 표시 않지만, 런타임에
Cannot locate resource 'resources/plus.png'
내가 도울 수 없어요이 예외를 throw하지만 '자원/plus.png'해결하려고하는 사고 'Resources/Plus.png'대신.
나는 내 질문에 오류를 업데이트했습니다. 결코 실행되지 않지만 예외를 제공합니다. – MegaMind
안녕하세요, 이미지 위치에 대해 이야기하고 있습니다. 제 편집을 읽어주세요. –
이 도움이되었습니다. 감사 –