Wpf 在代码隐藏中实例化元素时绑定
我有两个属性需要绑定。一个是Value,它是UserControl的属性,第二个是image元素的属性。图像元素位于窗口内。窗口在代码隐藏(UserControl)中声明 我需要添加什么来启用映像src和属性值之间的正确绑定。代码如下所示Wpf 在代码隐藏中实例化元素时绑定,wpf,data-binding,Wpf,Data Binding,我有两个属性需要绑定。一个是Value,它是UserControl的属性,第二个是image元素的属性。图像元素位于窗口内。窗口在代码隐藏(UserControl)中声明 我需要添加什么来启用映像src和属性值之间的正确绑定。代码如下所示 <UserControl x:Class="nnnn"> <UserControl.Resources> <propSheet:BitmapConverter x:Key="bitmapConverter" />
<UserControl x:Class="nnnn">
<UserControl.Resources>
<propSheet:BitmapConverter x:Key="bitmapConverter" />
<Window x:Key="imagePopup"
Width="640"
Height="480">
<Grid Background="LightGray">
<Image Grid.Row="0" Source="{Binding Path=Value, Converter={StaticResource bitmapConverter}}" />
<TextBlock Text="{Binding Path=Value}"></TextBlock>
<Button Grid.Row="1"
Width="25"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Click="OpenFile_Click">
...
</Button>
</Grid>
</Window>
</UserControl.Resources>
<Grid>
<Button Click="ViewImage_Click">View Image</Button>
</Grid>
...
查看图像
在显示窗口之前,必须将窗口的属性设置为UserControl实例:
private void ViewImage_Click(object sender, RoutedEventArgs e)
{
var window = Resources["imagePopup"] as Window;
window.DataContext = this; // the UserControl
window.Show();
}
什么???这个XAML不起作用。您不能将
窗口
放在用户控件
内。。。你想做什么?它不在用户控制范围内。它在用户控件的资源内!这是一个很大的不同!