小编PaN*_*1Me的帖子

具有依赖项属性的WPF ValidationRule

假设您有一个继承自ValidationRule的类:

public class MyValidationRule : ValidationRule
{
    public string ValidationType { get; set; }

    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {}
}
Run Code Online (Sandbox Code Playgroud)

在XAML中,您正在验证如下:

<ComboBox.SelectedItem>
    <Binding Path="MyPath" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
        <Binding.ValidationRules>
            <qmvalidation:MyValidationRule  ValidationType="notnull"/>
        </Binding.ValidationRules>
    </Binding>
</ComboBox.SelectedItem>
Run Code Online (Sandbox Code Playgroud)

哪个有效,一切都好.

但是现在假设,你想拥有ValidationType="{Binding MyBinding}"它的MyBinding来源DataContext.

为此,我需要创建MyValidationRule一个DependencyObject并添加一个依赖属性.

我试着写一个类DependencyObject,然后绑定它.但是有两个问题.. ValidationRule没有DataContext来自Combobox/Item的.

你有什么想法,怎么解决?

谢谢 !

validation wpf dependency-properties

16
推荐指数
1
解决办法
1万
查看次数

wpf:使用IsReadOnly = true选择TextBox中的文本?

我有这个TextBox.此TextBox位于DataTemplate中:

<DataTemplate x:Key="myTemplate">
    <TextBox  Text="{Binding Path=FullValue, Mode=TwoWay}" IsEnabled="False"  />
       ...
Run Code Online (Sandbox Code Playgroud)

我想允许用户选择其中的整个文本(可选择通过单击文本框).而且我不想使用任何代码.

怎么做?提前致谢.

wpf select textbox

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

WPF弹出窗口自动关闭

WPF Popup如果在弹出区域外单击或如果移动父控件,如何关闭WPF控件?

我无法从父控件中检查它,一切都必须由控件本身完成.

wpf move popup

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

UIElement.AddHandler()vs .Event + = Definition

1.问题的一部分: 这两个事件注册有什么区别?

_popUp.AddHandler(PreviewMouseLeftButtonDownEvent, new MouseButtonEventHandler(PopUp_PreviewMouseLeftButtonDown));

_popUp.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(_popUp_PreviewMouseLeftButtonDown);
Run Code Online (Sandbox Code Playgroud)

2.问题的一部分: 或最终与

popUp.Opened += PopUp_Opened;
Run Code Online (Sandbox Code Playgroud)

c# wpf event-handling

11
推荐指数
2
解决办法
8892
查看次数

WPF工具包DatePicker更改默认值'show calendar'

我正在使用最新的WPF工具包,特别是DatePicker.一切正常,但是当没有提供任何值时,默认的"SHOW CALENDAR"文本出现在DatePickerTextBox中.我希望能够在WPF中更改此值.

一个告诉我下载源代码,添加一个新的Dependency属性并重新编译为dll.这很酷但是如果新版本发布会怎么样?

这就是为什么我想以这种方式模板化这个控件,我将能够覆盖这个默认字符串.知道怎么做吗?

谢谢!

datepicker wpftoolkit

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

任何.NET'#region指令'约定的想法?

我非常感谢您在代码中定义区域的可能性,因为它可以疯狂地提高可读性.

无论如何,我想让所有人在所有类中使用相同的约定(使用所有区域的预定义顺序),例如:

  • 私人领域
  • 构造函数
  • 类属性
  • 事件处理程序
  • 等等...

你有什么命题可以看出这个区域是什么样的(哪些区域有意义,哪些区域应该有它们)以及它们应该以何种顺序定义?

.net c# naming-conventions region regions

10
推荐指数
4
解决办法
4047
查看次数

WPF TextBox触发器清除文本

我有很多TextBox控件,我正在尝试编写一个样式,禁用 Control 清除Text属性.我不希望代码中有事件处理程序.

我写了这个:

<Style TargetType="{x:Type TextBox}">                            
 <Style.Triggers>
  <Trigger Property="IsEnabled" Value="False">                                    
   <Setter Property="Text" Value="{x:Null}" />
  </Trigger>                                
 </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

问题是如果TextBox定义如下:

<TextBox Text={Binding Whatever} />
Run Code Online (Sandbox Code Playgroud)

然后触发器不起作用(可能是因为它的约束)如何克服这个问题?

wpf text triggers textbox

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

如何将LI元素定位到UL列表的底部

我有菜单项,如:Row1 Row2 .. RowN,我希望它们不要那么宽 - 这就是为什么包括休息(最大宽度)

我有这个HTML:

<div>
 <ul>
  <li>Row1</li>
  <li>Row1 Row2 Row3</li>
  <li>Row1</li>
  <li>Row1 Row 2</li>
 </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

用这个CSS:

/* MENU */

.menudiv {padding-left:10px; border-bottom: 1px solid #d0db88;}

ul.menu
{                 
    list-style-type: none;
    min-width: 1050px;
    position: relative;
    left:10px;
    display: block;
    height: 45px;       
    margin: 0;
    padding: 0;
}

ul.menu li
{    
    float: left;
    margin: 0;
    padding: 0;
}

ul.menu li a
{    
    float: left;    
    text-decoration: none;
    padding: 9px 12px 0;
    font-weight: bold;
    max-width:130px;
}
Run Code Online (Sandbox Code Playgroud)

实际:

+--------------------+
|Row1 Row1 Row1 Row1 | …
Run Code Online (Sandbox Code Playgroud)

html css positioning html-lists

10
推荐指数
1
解决办法
3万
查看次数

Visual Studio错误:已添加具有相同键的项目

当我尝试在窗体设计器中更改Windows窗体上的控件的默认图像时(无论在哪个控件上),我收到此错误:

错误消息:已添加具有相同键的项目

我试图删除并重新创建Resources.resx文件..我保证只有1个具有这些密钥的resx文件存在..(实际上这是我唯一的资源文件)但它仍然不起作用.

我有som字符串和一些图像.就这样.

任何的想法?

resources visual-studio winforms

9
推荐指数
1
解决办法
1万
查看次数

WPF检测滚动父控件

想象一下你打开WPF的情况Popup(例如通过ButtonClick).您可以ListBox直接Popup使用某些项目,因此您必须能够滚动.想象一下,这是你的Custom Control,它位于ScrollViewer.

现在如果你用鼠标移动到Popup表面并滚动,会发生什么?你可以向上和向下滚动但是Popup打开了!这就是问题所在.

问题是,如何从Control内部检测到VisualTree中的其他一些未知的Parent Control已经开始滚动?并连续设定IsDropDownOpen = false

wpf scroll custom-controls scrollviewer

9
推荐指数
1
解决办法
4519
查看次数