【发布时间】:2011-09-10 19:38:06
【问题描述】:
我在 silverlight 中有一个文本框,定义如下。
<TextBox x:Name="hedtextBox" DataContext="{Binding HedFileInfo}" Text="{Binding Name}" Width="100" Grid.Column="1" Margin="2,0,2,0" />
我的视图模型有一个名为HedFileInfo 的FileInfo 对象。而且,我在文本框旁边有一个Button,单击它时会启动OpenFileDialog,如下所示
private void HedBrowseButtonClick(object sender, RoutedEventArgs e)
{
var ofd = new OpenFileDialog { Filter = "CSV Files (.csv)|*.csv" };
var result = ofd.ShowDialog();
// Process open file dialog box results
if (result != true) return;
hedTextBox.DataContext = ofd.File;
}
我这样做是因为 Silverlight 不允许我访问 OpenFileDialog 中的 FullName 的所有路径(网络驱动器等)。如果我只是将ViewModel 中的string 绑定到TextBox,我将无法获得字符串中的完整路径。
TextBox 文本绑定到 Name 字段,但是当我在按钮单击事件中设置 DataContext 时,视图模型中的 FileInfo 没有更新
这有意义吗?
【问题讨论】:
-
好的...现在你的问题是什么?
-
有意义吗?因为它不起作用。
标签: .net silverlight