小编Wit*_*her的帖子

如何从viewmodel(Caliburn + WPF)关闭对话框窗口?

ViewModel1和View1相关联.我ViewModel2使用IWindowManagerobject 从(另一个viewmodel)启动对话框窗口.ViewModel2类中的代码:

windowManager.ShowDialog(new ViewModel());
Run Code Online (Sandbox Code Playgroud)

所以,我有Viewop窗口和View1用户控件.

我的答案是下一个 - 我可以使用红色关闭按钮关闭该对话框窗口,但是如何使用我的特定按钮(包含在View1用户控件中)关闭它,类似"取消"按钮和关闭命令(Command={Binding CancelCommand}),CancelCommand当然包含在ViewModel1课堂上.

wpf dialog window caliburn.micro

19
推荐指数
3
解决办法
2万
查看次数

强制IDataErrorInfo验证

我在某个面板上有两个控件:textbox和combobox:

<TextBox Text="{Binding ShapeName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />

<ComboBox SelectedItem="{Binding ActiveStageViewModel, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
Run Code Online (Sandbox Code Playgroud)

当我在组合框上选择一些东西时,我需要强制对文本框进行idataerrorinfo验证.怎么做?

来自viewmodel的代码:

string IDataErrorInfo.this[string propertyName]
    {
      get
      {
        var error = string.Empty;

        if (propertyName == Expression.GetPropertyName(() => ActiveStageViewModel))
        {
          // TODO: Add functionality to force ShapeName property validation
          return error;
        }

        if (propertyName == Expression.GetPropertyName(() => ShapeName))
        {
          error = ValidateShapeName();
        }

        TooltipMessage = error;
        return error;
      }
    }
Run Code Online (Sandbox Code Playgroud)

validation wpf idataerrorinfo

15
推荐指数
2
解决办法
9488
查看次数

在SharePoint 2010中创建查找字段

如何在List1中添加查找列并将其与List2中的SomeField绑定,然后用纯文本填充此查阅列(仅使用代码)?

lookup field sharepoint-2010

0
推荐指数
1
解决办法
1693
查看次数

ItemContainerStyle阻止ItemContainerStyleSelector

我有代码:

<ListBox Style="{StaticResource DeviceListBox}"
                 ItemsSource="{Binding MeterList, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
                 SelectedItem="{Binding CurrentMeter, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"
                 ItemContainerStyleSelector="{StaticResource DeviceListItemStyleSelector}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Style="{StaticResource DeviceListText}" Text="{Binding Name}" />
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

ItemContainerStyleSelector="{StaticResource DeviceListItemStyleSelector}"用来改变每个列表框项目中的背景颜色(例如黑色或银色,请参阅 - http://msdn.microsoft.com/en-us/library/system.windows.controls.styleselector.aspx).它有效.但是,如果我添加ItemContainerStyle="{StaticResource DeviceListItemStyle}"创建一些触发器等DeviceListItemStyle然后DeviceListItemStyleSelector不起作用.请帮帮我!)

wpf listboxitem itemcontainerstyle

0
推荐指数
1
解决办法
4304
查看次数