gpt4 book ai didi

c# - 基于变量交换图像

转载 作者:行者123 更新时间:2023-11-30 22:15:27 25 4
gpt4 key购买 nike

我有一个应用程序使用 XAML 和 C# (MVVM) 创建一个允许您启动和停止摄像头源的界面。

我想做的是根据变量 IsOn 在关闭和打开图像之间切换。

我知道如何在 UI 中手动设置图像,

<Image Source="/MyApp.WpfUI;component/Resources/Images/Webcasting.png" />      

但我不确定如何最好地根据条件动态更改图像。我考虑过 IF 语句,但不确定如何去做。

有没有人有任何建议或想法?

最佳答案

一个答案是:将显示流的控件的 IsEnabled 属性绑定(bind)到代码中返回 bool 值的属性。
在您看来:

<Image IsEnabled={Binding IsOn} Source="/MyApp.WpfUI;component/Resources/Images/Webcasting.png" /> 

在此属性的 getter 中,放置您的条件语句以确定是否返回 true 或 false。
在您的 ViewModel 中:

public bool IsOn 
{
get
{
if(<some condition>)
return true;
else
return false;
}
}

注意事项:

  • 不要忘记在必要时使用您的 INotifyPropertyChanged 实现来提醒 UI。
  • 如果您实现一个 setter ,您可以在 View 上有一个按钮,该按钮可以切换值,从而为您提供手动控制。
  • 绑定(bind)也可用于改变流的,使用与上述相同的技术。即,getter 将返回视频流的路径或显示“Video Off”的静态图像的路径。 但是,这取决于您使用的控件是否可以处理该问题。您可以使用 Source< 的绑定(bind)来代替 IsEnabled 属性/em> 属性。
  • 这里有几个链接将向您展示一些类似的实现:

祝你好运。

关于c# - 基于变量交换图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com