Tag: 用户控制

在自定义用户控件的DependencyProperty上绑定不更新更新

我在自定义用户控件上进行数据绑定时遇到了困难。 我创建了一个示例项目来突出我的问题。 我是WPF的新手,也是MVVM的新手,所以请耐心等待…… 我创建了一个使用数据绑定两种方式的简单视图。 内置控件上的数据绑定工作正常。 我的自定义控件没有…我在我的控件的PropertyChangedCallback中放了一个断点。 它在启动时被击中一次,但从未再次被击中。 与此同时,我已经绑定到相同价值的标签很高兴倒计时。 我错过了什么? 我的示例项目如下: 主窗口: 这是我的模特: namespace WpfMVVMApp { public class CountdownModel : INotifyPropertyChanged { private int chargeTimeRemaining_Mins; public int ChargeTimeRemaining_Mins { get { return chargeTimeRemaining_Mins; } set { chargeTimeRemaining_Mins = value; OnPropertyChanged(“ChargeTimeRemaining_Mins”); } } #region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string propertyName) { if (PropertyChanged […]

使用自定义颜色替换/重绘TextBox 3D边框

情景 在WinForms中 ,当BorderStyle属性设置为Flat , None或Fixed3D时,我已经将文本 Fixed3D分类为使用纯色绘制我自己的边框。 问题 当我的TextBox属性设置为Fixed3D ,当我尝试使用颜色绘制边框时,表面上的边框未正确绘制: 您在图像中看到的是一个缩放的TextBox,其中包含: BackColor =黑色 BorderStyle = Fixed3D(白色的东西) 红色的是我的边界意图。 题 在C#或VB.Net中,我如何替换/重绘3D边框来做我想要的?,我的意思是替换/隐藏/重绘上面图像的白色边框。 码 这是我在OnPaint方法上尝试过的: Using g As Graphics = Graphics.FromHwnd(Me.Handle) ‘ Dim rect As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height) ‘ Dim pen As New Pen(Color.Black, 2) ‘ pen.Alignment = PenAlignment.Inset ‘ g.DrawRectangle(pen, rect) ControlPaint.DrawBorder(Graphics.FromHwnd(Me.Handle), Me.ClientRectangle, Me.borderColor1, ButtonBorderStyle.Solid) […]

每按一次按钮添加行datagridview

我在usercontrol上有一个datagridview。 我创建了一个数据表,并将datagrid的源设置为此数据表。 我希望,在运行时,能够在每次按钮点击时添加gridview上我想要的行数。 我的代码: private DataTable CreateTable() { Datatable table=new Datatable(); table.Columns.Add(“Name”.ToString()); table.Columns.Add(“Size”.ToString()); DataRow dr = table.NewRow(); dr[“Name”] = “Mike”; DataRow dr2 = table.NewRow(); dr2[“Name”] = “Ryan; DataRow dr3 = table.NewRow(); dr3[“Name”] = “Taylor”; dr[“Size”] = ” one”; dr2[“Size”] = “two”; table.Rows.Add(dr); table.Rows.Add(dr2); table.Rows.Add(dr3); return table; //and on my constructor I set gridview.DataSource=Datatable; } //Code […]

WPF UserControl检测忽略子项的LostFocus

我有一个UserControl帽子包含几个元素(ListBoxes,Buttons)和一个带有ComboBoxes和Buttons的Popup。 我尝试失去对用户控件的关注,但每当UserControl内的焦点发生变化时,Lost(Keyboard)Focus事件就会触发。 但我不想知道一个孩子何时失去对UserControl的另一个孩子的焦点,但我想知道,当键盘焦点移动到UserControl外部的元素并且它是Popup时。 有没有办法检测到这一点,而不检查每个元素的LostFocus?

拖动多个选定的控件

我在WinForms Form上有一个UserControl ,可以动态创建多个实例。 如果我选择它,我可以拖动它。 现在,我想,如果我选择多个UserControls(使用ctrl +按钮单击),可以同时拖动所有这些。 我能像我为一个UserControl那样做吗? 我到现在为止尝试过的事情: // For dragging I use this method and also I have // overridden MouseUp,MouseDown,MouseMove from .net public void StartDrag() { dragging = true; Point p = PointToClient(Cursor.Position); dragStart = new Point(Math.Max(0, pX), Math.Max(0, pY)); buttondrag.Capture = true; } private void Usercontrol1_SelectedChanged(object sender, EventArgs e) { if (((UserControl)sender).Selected) […]

将用户控件转换为服务器控件

我想知道是否有人有将用户控件转换为Web控件的经验? 理想情况下,我想将一些设计工作卸载给其他人,他们会给我很好的布局用户控件。 然后,我可以完成转换,编译,测试和部署的过程。 直到MS提出神奇的“转换为服务器控制”选项,看起来我很难从头开始重写。 有任何想法吗?

从用户控件/类/页面访问母版页公共方法

我要在我的母版页上访问一个方法。 我有一个错误标签,我想根据我从我的网站收到的错误消息更新。 public string ErrorText { get { return this.infoLabel.Text; } set { this.infoLabel.Text = value; } } 如何从我设置的用户控件或类中访问它?

如何从用户控件中引发自定义路由事件?

在我的用户控件中,我有一个按钮,单击该按钮将引发自定义路由事件。 我试图提高它,但它不会在MainWindow.xaml中被触发。 用户控件中按钮的Xaml: UserControl C#代码: //AddClick Event public static readonly RoutedEvent AddClickEvent = EventManager.RegisterRoutedEvent(“AddClick”, RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(dCB_Props)); public event RoutedEventHandler AddClick { add { AddHandler(AddClickEvent, value); } remove { RemoveHandler(AddClickEvent, value); } } void RaiseAddClickEvent() { RoutedEventArgs newEventArgs = new RoutedEventArgs(dCB_Props.AddClickEvent); } protected void OnAddClick() { RaiseAddClickEvent(); } //objects events private void btnAdd_Click(object sender, System.Windows.RoutedEventArgs […]

MVVM Light – 用户控件作为视图

我决定使用MVVM Light库来帮助设计UI。 经过大量的研究和反复试验,我还没有找到我想要的答案。 我用谷歌搜索并阅读了我能找到的每个StackOverflow问题,然而,我的问题似乎在SO上是独一无二的。 我希望设计一个带有单个窗口的UI,并使用不同的Views / UserControls填充它。 我不想在UserControls中使用共享导航栏,也不想弹出多个窗口。 每个View / UserControl都应绑定到自己的ViewModel,而MainWindow将绑定到MainViewModel。 示例场景 – 具有3个UserControl的MainWindow 1. MainWindow populates with first UserControl which has a listbox and 3 buttons, the first button is enabled. 2. User clicks the first button. 3. MainWindow populates with second UserControl. 或者,另外 2. User selects choice from a listbox, button two and […]

用于跨平台Xamarin Forms的UserControl

我一直在寻找很长一段时间但仍未找到为跨平台Xamarin Forms创建类似UserControl的WPF的方法。 甚至可以这样做吗? 我在Visual Studio 2013中使用Xamarin。