DependencyProperty绑定问题我创建了一个小文件浏览器控件:<UserControl x:Class="Test.UserControls.FileBrowserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="44" d:DesignWidth="461" Name="Control">
<Grid Margin="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Margin="3" Text="{Binding SelectedFile}" IsReadOnly="True" TextWrapping="Wrap" />
<Button HorizontalAlignment="Right" Margin="3" Width="100" Content="Browse" Grid.Column="1" Command="{Binding BrowseCommand}" />
</Grid></UserControl>我就是这样用的:<userControls:FileBrowserControl SelectedFile="{Binding SelectedFile}" Filter="XSLT File (*.xsl)|*.xsl|All Files (*.*)|*.*"/>(SelectedFile是使用此控件的用户控件的ViewModel的属性)当前的问题是,当我单击Browse时,user控件中的TextBox正在正确更新,但viewModel父控件的SelectedFile属性没有设置(没有调用set属性)。如果我将绑定模式设置为twoway,则会得到以下异常:An unhandled exception of type 'System.StackOverflowException' occurred in Unknown Module.那我做错什么了?
3 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
DataContext = this;
<TextBox Text="{Binding SelectedFile, RelativeSource={RelativeSource AncestorType=UserControl}}" />
<userControls:FileBrowserControl SelectedFile="{Binding SelectedFile}" />
温温酱
TA贡献1752条经验 获得超4个赞
<userControls:FileBrowserControl SelectedFile="{Binding SelectedFile}" ...
SelectedFile="{Binding DataContext.SelectedFile, ElementName=element}"
- 3 回答
- 0 关注
- 747 浏览
添加回答
举报
0/150
提交
取消