의 내부 이미지의 소스를 변경?내가이 같은 XAML에 정의 된 이미지와 버튼을 가지고 버튼 템플릿
0
A
답변
0
그래서 나는 마침내 그것을 생각은, 사용자 Gambi 다른 thread.
0
이미지 전환을 기반으로 할 수있는 IsChecked 속성이 있으므로 단추 대신 토글 단추를 사용하여이 작업을 수행 할 수 있습니다.
먼저 True/False에서 이미지 경로로 이동하는 데 약간의 변환기가 필요하며 반복해서 사용할 수있는 일반 변환기로 만들 수도 있고 프로젝트에 추가하고 xmlns를 가리 키도록 설정할 수도 있습니다 너의 xaml에.
public class BooleanSwitchConverter : DependencyObject, IValueConverter
{
public object TrueValue
{
get { return (object)GetValue(TrueValueProperty); }
set { SetValue(TrueValueProperty, value); }
}
public static readonly DependencyProperty TrueValueProperty =
DependencyProperty.Register("TrueValue", typeof(object), typeof(BooleanSwitchConverter), new PropertyMetadata(null));
public object FalseValue
{
get { return (object)GetValue(FalseValueProperty); }
set { SetValue(FalseValueProperty, value); }
}
public static readonly DependencyProperty FalseValueProperty =
DependencyProperty.Register("FalseValue", typeof(object), typeof(BooleanSwitchConverter), new PropertyMetadata(null));
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return ((bool)value) ? TrueValue : FalseValue;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
그런 다음 바코드를 IsChecked의 바인딩을 사용하여 이미지와 같은 토글 버튼으로 바꿉니다.
<ToggleButton>
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<Border>
<Image>
<Image.Source>
<Binding Path="IsChecked" RelativeSource="{RelativeSource TemplatedParent}">
<Binding.Converter>
<local:BooleanSwitchConverter
TrueValue="1.jpg"
FalseValue="2.jpg"/>
</Binding.Converter>
</Binding>
</Image.Source>
</Image>
</Border>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
0
당신은 (샘플의 편의를 위해 사각형을 사용)과 같은 트리거를 사용할 수 있습니다
<Button x:Name="buttonTest" Width="200" Height="200">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Border HorizontalAlignment="Center" VerticalAlignment="Center" >
<Rectangle x:Name="Image" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}" Fill="Yellow"></Rectangle>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="Image" Property="Fill" Value="Red"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
관련 문제
- 1. 내가이 같은 모델을 가지고
- 2. 내가이 같은 문자열을 가지고
- 3. 내가이 버튼을 가지고 app.get 경로
- 4. 내가이 같은 인터페이스를 가지고 Autofac
- 5. 항목이 xaml에 정의 된 UC?
- 6. 내가이 같은 구조를 가지고 Clojure의
- 7. 내가이 같은 레일에 쿼리를 가지고
- 8. Ext.data.Store.getById 내가이 같은 것을 정의 된 상점이
- 9. 이미지와 텍스트가있는 사용자 정의 토글 버튼
- 10. 으로 반복 내가이 모델을 가지고 템플릿
- 11. 다른 스레드에서 XAML에 정의 된 컨트롤 사용
- 12. WPF xaml에 정의 된 컨트롤의 인스턴스를 만듭니다.
- 13. xaml에 정의 된 Silverlight 컨트롤은 런타임에 null입니다.
- 14. 이미지와 텍스트가있는 WinForms 버튼
- 15. 내가이 같은 디렉토리 구조를 가지고 배치 파일
- 16. 체인 대기 콜백 내가이 같은 루프를 가지고
- 17. 내가이 같은 변수를 가지고 jQuery를 선택
- 18. 내가이 같은 디렉토리 구조를 가지고 Gradle을
- 19. PHP 내가이 같은 간단한 PHP 코드를 가지고
- 20. 스크롤 SearchResponse 내가이 같은 루프를 가지고
- 21. 장고 내가이 같은 뷰 기능을 가지고
- 22. 내가이 같은 간단한 인터페이스를 가지고 인터페이스
- 23. execfile 내가이 같은 구조를 가지고 다른 파일
- 24. 는 PDO 내가이 같은 구조를 가지고
- 25. 내가이 가지고
- 26. 내가이 같은 문자열 객체를 정의하는 템플릿
- 27. JPA 내가이 요청 가지고
- 28. 내가이 같은 이미지와 설명으로 채워진 목록을 가져가 이벤트
- 29. DB에 정의 된 템플릿 설정
- 30. 내가이 예 문자열을 가지고
에 대한 답을 제공 "유형 버튼이 Silverlight 프로젝트에서 지원되지 않습니다"라는 오류 메시지가 나타납니다. – Kajzer
버튼을 클릭했을 때가 아니라 버튼을 누르고있을 때만 이미지가 변경됩니다. – Andy
OP가 무엇을 요구하는지 명확하지 않습니다. –