<Grid x:Name="LayoutRoot" Background="White"> <CommonControl:NoapDataGrid MinHeight="120" Margin="10,0,10,10" HorizontalAlignment="Stretch" AutoGenerateColumns="False" ItemsSource="…
Background In our application, we have a screen which hosts several tabs. In each tab, it contains a third-party  GridControl (like the WPF standard GridView control). And we need to display some column cells as hyper link, so user can click on it, v…
using System; using System.Collections.Generic; using System.Windows.Input; namespace WPF.Commands { /// <summary> /// This class allows delegating the commanding logic to methods passed as parameters, /// and enables a View to bind commands to obje…
<Window x:Class="WpfTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008…
1.添加引用Microsoft.Practices.Prism.Mvvm.dll,Microsoft.Practices.Prism.SharedInterfaces.dll: 2.新建文件夹,View,ViewModel,View中添加新项FirstView.XAML(Window页面),在ViewModel中添加新项FirstViewModel.CS(类): 3.在FirstView.xaml.cs的构造函数中添加  DataContext=new FirstViewModel(); 4.在…
原文 http://blog.csdn.net/esricd/article/details/7587136 在ArcGIS API for Silverlight/WPF中原版的TextSymbol只能支持文字正向显示.在很多实际项目中,往往需要文字标注有一些角度甚至是沿线标注,下面 我们来看一下原装的TextSymbol和扩展后的TextSymbol的比较和实现思路. 要实现右图的效果只需要从TextSymbol继承一个Symbol并增加Rotation属性,并加载相应的控件模板就行了. 以…
This gives you the ability to create a trigger on an event and bind it to an ICommand on the view model. <Button> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseEnter" > <i:InvokeCommandAction Command="{Bindin…
对于Button的Command的绑定可以通过实现ICommand接口来进行,但是Slider并没有Command属性. 另外如果要实现MVVM模式的话,需要将一些Method和Slider的Event进行绑定,如何进行呢? (对于UIElement的一些Event进行绑定一定有一些通用的方法,目前还没有深入研究.) 首先,Slider Value的绑定是很简单的, 绑定Slider的Value属性即可. (1)ViewModel public class SliderViewModel : V…
WPF中的Binding技巧(二)     接上篇, 我们来看一看Elementname,Source,RelativeSource 三种绑定的方式 1.ElementName顾名思义就是根据Ui元素的Name来进行绑定: 例子: <Window x:Name="MainWindow"> <Grid>               <Button Background="{Binding ElementName=MainWindow, Path=B…
直接上代码: public class LoginDelegateCommand : ICommand { private Action _execute; private Predicate<object> _canExecute; public LoginDelegateCommand([NotNull]Action execute): this(execute, DefaultCanExecute) { } public LoginDelegateCommand([NotNull]Act…
无参Command: internal class DelegateCommand : ICommand { private readonly Action _execute; private readonly Func<bool> _canExecute; public DelegateCommand(Action execute) : this(execute, null) { } public DelegateCommand(Action execute, Func<bool>…
一.安装 1.Visual Studio: (1)Visual Studio 2010或Visual Web Developer Express 2010 (2)Silverlight 4 Tools for Visual Studio (add-on) :仅Silverlight 4支持 (3)Expression Blend 4 SDK for Silverlight (also included with Expression Blend 4) (Necessary for behavio…
源自:http://blog.163.com/zwx_gis/blog/static/32434435201122193611576/ (主页:http://blog.163.com/zwx_gis/) 一.安装 1.Visual Studio: (1)Visual Studio 2010或Visual Web Developer Express 2010 (2)Silverlight 4 Tools for Visual Studio (add-on) :仅Silverlight 4支持 (3…
<HierarchicalDataTemplate x:Key="TreeNodes" ItemsSource="{Binding Path=Childs,Mode=OneWay}" > <StackPanel Orientation="Horizontal" Height="24" DataContext="{Binding}"> <TextBlock Text="…
silverlight 或WPF在MVVM模式中使用INotifyDataErrorInfo接口对输入进行验证时 控件lostFocus时会触发验证,但在提交动作(例如button的Command)时,不触发 验证.下面的方法提供控件输入验证统一触发. 1.添加ValidationScope类 public class ValidationScope { public FrameworkElement ScopeElement { get; private set; } private read…
In the WPF example the Popup and the ToggleButton (the arrow on the right) are bound with the property IsDropDownOpen: 在模版里面设置 <Popup IsOpen="{TemplateBinding IsDropDownOpen}" ... <ToggleButton IsChecked="{Binding Path=IsDropDownOpen,…
如深入浅出WPF中的描述,DataTemplate为数据的外衣,ControlTemplate为控件的外衣.ControlTemplate控制控件的样式,DataTemplate控制数据显示的样式,DataTemplate是ControlTemplate的一部分.本文介绍DataTemplate与ControlTemplate结合使用的方法,其关键在于ContentPresenter,它是DataTemplate的树根,代表DataTemplate的实例. 场景 自定义Button,使其显示当前…
在WPF的XAML里,依赖属性可以使用基于BindingBase之类的MarkupExtensin 读取XAML时,会自动的把该BindingBase转换为BindingExpressionBase 然后再放入DependencyObject的EffectiveValueEntry里 那么问题来了,在我们自己做一个轻量级依赖框架时,为什么读取BindingBase会报错 假设,一个属性名称为Title,类型为string XAML文档为 <Page xmlns="http://schema…
简介 项目中经常会用到,同步两个控件的值,本文就简单列举两种方式来同步不同控件的两个Dependency Property. 示例 效果图: 只使用C#代码: //获取slider1的ValueDependency property的值 var binding = new Binding() { ElementName = slider1.Name, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, Path = new Pro…
Binding 是前台UI(显示层)和后台代码(数据层)的桥梁.理论上当后台的数据变动时,显示的数据或样式应该随之而变.这些是动态的. 对于Binding的设置可以在前台Xaml,也可以在后台Code里面定义,但是既然Xaml可以做很多事情,那么所有对UI的操作我们都可以交给它. 其实,WPF的本身是一种数据驱动UI的设计模式,使用了MVVM(Model-View-ViewModel)的模式. 以下是绑定的基本思路: 目标(依赖对象(依赖属性))  <=====Binding =====> 源…
原文 http://www.11011.net/wpf-binding-expressions Back in April I posted an idea for building an expression converter for use with MultiBindings. This is a question I often see asked, but the answer is usually "go and write a once off converter" (…
原文 http://www.11011.net/wpf-binding-properties Ever wanted to write the following? <RichTextBoxDocument="{Binding}" /> I noticed at least one user on the MSDN Forums who did. The general answer is that it's not possible - because Document…
前言:许多数据驱动的应用程序都包含菜单和工具栏或功能区控件,允许用户控制操作,在WPF中,也可以使用功能区控件,所以这里介绍菜单和功能区控件. 一.菜单控件 在WPF中,菜单很容易使用Menu和MenuItem元素创建,如下面代码,其中一个主菜单和一个次菜单,以及一个子菜单项列表. <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presen…
Silverlight 解谜游戏系列 -- Silverlight 3 · Silverlight 解谜游戏 之一 新建项目 · Silverlight 解谜游戏 之二 创建题板 · Silverlight 解谜游戏 之三 消除名单 · Silverlight 解谜游戏 之四 粒子特效 · Silverlight 解谜游戏 之五 放大镜(1) · Silverlight 解谜游戏 之六 放大镜(2) · Silverlight 解谜游戏 之七 放大镜(3) · Silverlight 解谜游戏…
一. 前言     什麼是DataTemplate? 什麼是ControlTemplate? 在stackoverflow有句簡短的解釋 "A DataTemplate, therefore, is used to provide visual structure for underlying data, while a ControlTemplate has nothing to do with underlying data and simply provides visual layout…
1.Overview 基于MVVM实现一段绑定大伙都不陌生,Binding是wpf整个体系中最核心的对象之一这里就来解读一下我花了纯两周时间有哪些秘密.这里我先提出几个问题应该是大家感兴趣的,如下: (1)INotifyPropertyChanged是如何被加载.触发的(Binding如何完成数据更新的)? (2)为什么需要开发者手动实现INotifyPropertyChanged接口来为每个成员实现数据通知,为什么不集成在wpf框架里? (3)藏在WPF体系里的观察者模式在哪里? 2.Deta…
参考:http://msdn.microsoft.com/en-us/library/system.windows.data.updatesourcetrigger(v=vs.110).aspx Text="{Binding GoToLocation.X,UpdateSourceTrigger=Explicit}" 这里需要将Trigger设为Explicit,否则无法接受输入.…
Binding到DataGrid的时候,需要用到ObservableCollection. public ObservableCollection<Customer> Customers { get { return this.customers; } set { this.customers = value; base.OnPropertyChanged("Customers"); } }…
基本思路还是在View的Xmal里面绑定ViewModel的属性,虽然在View的后台代码中也可以实现binding,但是还是在Xmal里面相对的代码量要少一些. 此例子要实现的效果就是将一个List<Customer> 绑定到一个ComboBox,并将选择后的Customer的Age显示在一个TextBlock中. 1. Model public class Customer { public string Name { get; set; } public int Age { get; s…
主要思路: 把省的ItemsSource绑定DataContext,然后给市的ItemsSource绑定到Element(省)的SelectedItem上 xaml <Window x:Class="Demo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/…