[英]image source in xaml depends on code behind variable
我有圖片
<Image HorizontalAlignment="Left" VerticalAlignment="Top" Source="" Width="20" Height="20" />
我在代碼隱藏中有變量bool IsOk。 我如何將其綁定到源屬性,並具有以下條件:當源屬性為true時,源將為“ ../Shared/Images/ok.png”,而為false“ ../Shared/Images/cancel.png”? 我可以使用它觸發嗎?
無需觸發。
只需將Image的Source屬性綁定到ViewModel上的屬性即可,該屬性返回確定的圖像或取消的圖像。
修改您的代碼,以便每當IsOk更改時,都會觸發按鈕圖像屬性的PropertyChanged事件。 這樣,只要您更改IsOk屬性,圖像就會自動更新。 像這樣:
public bool IsOk
{
get
{
return _isOk;
}
set
{
if (_isOk != value)
{
_isOk = value;
RaisePropertyChanged("IsOk");
RaisePropertyChanged("ButtonImage");
}
}
}
public Image ButtonImage
{
get
{
if (_isOk)
return _okImage;
else
return _cancelImage;
}
}
..然后在您的XAML中:
<Image Source="{Binding ButtonImage}" ... />
馬蒂的答案很干凈,但是如果您真的只是想使用扳機...類似的事情也可能起作用,但是就像我說的那樣,馬蒂的答案更干凈。 :)
<Image HorizontalAlignment="Left" VerticalAlignment="Top" Source="" Width="20" Height="20">
<i:Interaction.Triggers>
<ei:DataTrigger Value="False"
Binding="{Binding BooleanValueBinding}">
<ei:ChangePropertyAction PropertyName="Source"
Value="../Shared/Images/cancel.png" />
</ei:DataTrigger>
<ei:DataTrigger Value="True"
Binding="{Binding BooleanValueBinding}">
<ei:ChangePropertyAction PropertyName="Source"
Value="../Shared/Images/ok.png" />
</ei:DataTrigger>
</i:Interaction.Triggers>
</Image>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.