相关疑难解决方法(0)

打开文件对话框MVVM

好的,我真的想知道专家MVVM开发人员如何处理WPF中的openfile对话框.

我真的不想在我的ViewModel中执行此操作(其中'Browse'通过DelegateCommand引用)

void Browse(object param)
{
    //Add code here
    OpenFileDialog d = new OpenFileDialog();

    if (d.ShowDialog() == true)
    {
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我认为这违背了MVVM方法论.

我该怎么办?

wpf openfiledialog mvvm

45
推荐指数
5
解决办法
4万
查看次数

如何将控件的属性值传递给 WPF 中同一控件的“CommandParameter”属性

我遵循 MVVM 模式。我想将控件的属性值传递给同一控件的“CommandParameter”属性。但是正在面临“对象引用未设置到对象实例”的运行时异常。

WPF:

 <Button
            x:Name="btnBrowseFirmware1"
            Grid.Row="2"
            Grid.Column="1"
            Width="135"                    
            Height="35"
            Command="{Binding OpenFileDialogCommand}"
            CommandParameter="{Binding  Name ,ElementName=btnBrowseFirmware1}"
            Content="Browse "
            Foreground="White"
             />
Run Code Online (Sandbox Code Playgroud)

视图模型:

  public class ConfigurationParametersViewModel : WorkspaceViewModelBase
{
    public ICommand OpenFileDialogCommand { get; private set; }

    public ConfigurationParametersViewModel()
        : base("ConfigurationParameters", true)
    {
        OpenFileDialogCommand = new RelayCommand<string>(OpenFileDialogCommandFunc);
    }

    private void OpenFileDialogCommandFunc(string browseButtonName)
    {
        OpenFileDialog fileDialog = new OpenFileDialog();
        Some Code...
    }
}
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf mvvm

2
推荐指数
1
解决办法
6379
查看次数

在 C# 中使用 MVVM(模型-视图-视图模型)的 WPF OpenFileDialog

如何在 c# 中使用 MVVM (Model-View-ViewModel) 编写 WPF OpenFileDialog?我访问了一些关于这个 OpenFileDialog 的网站,但我没有清楚地了解它。这是我的代码

在View.xaml 中:

<Window....  xmlns:VM="clr-namespace:myproject.myViewModel"
  ...  >
<Window.DataContext><VM:myViewModel/>

</Window.DataContext>
 <ItemsControl ItemsSource="{Binding mygroup}" >
        <ItemsControl.ItemTemplate >
        <DataTemplate>

                 <Grid >....

                       <TextBlock Text="Color"  Margin="20" VerticalAlignment="Center"/>
                        <ComboBox   KeyboardNavigation.TabIndex="0" Grid.Column="1" Margin="45,10,10,10" Height="30" Width="200" ItemsSource="{Binding Color}"   />
                        <TextBlock Text="Shapes" Grid.Row="1"  VerticalAlignment="Center"  />

                        <ComboBox KeyboardNavigation.TabIndex="3" Grid.Column="1" Grid.Row="1" Height="20" Width="150" SelectedIndex="0"   HorizontalContentAlignment="Right" 
                      VerticalAlignment="Center"  ItemsSource="{Binding Shapes}">
                                                            </ComboBox>

<TextBlock Text="Open Files "  VerticalAlignment="Center"      Grid.Row="0"  Grid.Column="2" Margin="10"    />
                                <TextBox  Grid.Column="3" Text="" Height="30" Grid.Row="0"   IsReadOnly="True" 
                        TextAlignment="Right" VerticalContentAlignment="Center" Width="200" />                                    <Button  Grid.Column="4" …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

2
推荐指数
1
解决办法
2467
查看次数

标签 统计

mvvm ×3

wpf ×3

c# ×2

data-binding ×1

openfiledialog ×1