将位图绑定到 XAML
Bind Bitmap to XAML
在我的 XAML
我有:
<Window.Resources>
<DataTemplate x:Key="CastTemplate">
<DockPanel Width="Auto">
<Image Source="{Binding image}" Width="10" Height="10"/>
<TextBlock Text="{Binding name}"/>
<TextBlock Text="{Binding character}"/>
</DockPanel>
</DataTemplate>
<Window.Resources>
<Grid HorizontalAlignment="Center">
<ItemsControl ItemTemplate="{StaticResource CastTemplate}" ItemsSource="{Binding SelectedItem.castInfoWithPics}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" Rows="2"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
binding
指向具有以下属性的对象列表:
public string name { get; set; }
public string character { get; set; }
public BitmapSource image { get; set; }
在我的 ViewModel
中,我分配 image
属性 使用:
cast.image = loadBitmap(bitmap);
我正在使用此处所述的 loadBitmap
函数:
我遇到的问题是当我 运行 我的程序时 image
没有显示。然而 name
和 character
属性出现了。
我似乎也没有收到任何 Binding
错误。有人知道问题出在哪里吗?
您确定在视图模型中使用 INotifyPropertyChanged
吗?
看起来您正在构造函数中设置其他属性,然后稍后设置位图 属性。在这种情况下,您必须引发 PropertyChanged 事件。
在我的 XAML
我有:
<Window.Resources>
<DataTemplate x:Key="CastTemplate">
<DockPanel Width="Auto">
<Image Source="{Binding image}" Width="10" Height="10"/>
<TextBlock Text="{Binding name}"/>
<TextBlock Text="{Binding character}"/>
</DockPanel>
</DataTemplate>
<Window.Resources>
<Grid HorizontalAlignment="Center">
<ItemsControl ItemTemplate="{StaticResource CastTemplate}" ItemsSource="{Binding SelectedItem.castInfoWithPics}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" Rows="2"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
binding
指向具有以下属性的对象列表:
public string name { get; set; }
public string character { get; set; }
public BitmapSource image { get; set; }
在我的 ViewModel
中,我分配 image
属性 使用:
cast.image = loadBitmap(bitmap);
我正在使用此处所述的 loadBitmap
函数:
我遇到的问题是当我 运行 我的程序时 image
没有显示。然而 name
和 character
属性出现了。
我似乎也没有收到任何 Binding
错误。有人知道问题出在哪里吗?
您确定在视图模型中使用 INotifyPropertyChanged
吗?
看起来您正在构造函数中设置其他属性,然后稍后设置位图 属性。在这种情况下,您必须引发 PropertyChanged 事件。