Image的Source绑定时的奇怪现象

使用BitmapFrame.Create生成的BitmapResource可以

new出来的BitmapImage不行

转载于:https://www.cnblogs.com/Alf7/p/4204465.html

在WPF中,你可以使用数据绑定来将Image控件与数据源进行关联。这样你就可以动态地显示不同的图片,而无需在代码中手动更改图片路径。 首先,你需要创建一个数据源,例如一个ViewModel类。在这个类中,你可以定义一个属性,用于存储图片的路径: ```csharp public class ViewModel : INotifyPropertyChanged { private string _imagePath; public string ImagePath { get { return _imagePath; } set { _imagePath = value; OnPropertyChanged(nameof(ImagePath)); } } // 实现INotifyPropertyChanged接口的代码... } ``` 接下来,在XAML中,你需要将Image控件的Source属性与ViewModel的ImagePath属性进行绑定。你可以使用Binding语法来实现: ```xaml <Image Source="{Binding ImagePath}" Width="100" Height="100" /> ``` 在这个例子中,我们将Image控件的Source属性绑定到ViewModel的ImagePath属性。 最后,在代码中,你需要将ViewModel设置为界面的数据上下文(DataContext)。这样,WPF框架就会自动将界面上的控件与ViewModel进行绑定。你可以在代码中添加以下代码: ```csharp public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); ViewModel viewModel = new ViewModel(); viewModel.ImagePath = "path/to/your/image.png"; // 设置初始图片路径 DataContext = viewModel; } } ``` 在这个例子中,我们创建了一个ViewModel实例,并将其设置为MainWindow的DataContext。 这样,当你更改ViewModel的ImagePath属性,界面上的Image控件的Source属性也会自动更新,从而显示新的图片。 希望这能帮助到你!如果还有其他问题,请随提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值