Tag: xaml

如何在WinRT中使用INotifyPropertyChanged?

我是一个新手,只是学习DataContext和MVVM模型的基础知识。 我现在有一个网格绑定到一个实现INotifyPropertyChanged的视图模型对象,但是看起来UpdateSourceTrigger (所有WPF教程告诉我使用它)不适用于WinRT / Metro Style应用程序! 那我如何实现INotifyPropertyChanged呢? 我在这里的绳索尽头。 我花了将近一天的时间在最基本的应用程序示例上,只是在点击某些内容后尝试更新网格。 到目前为止,我设法做到这一点的唯一方法是创建一个全新的视图模型实例并重新分配我知道错误的DataContext 更新: 我取得了一些进展,但事情变得非常奇怪。 我有一个视图模型,带有一个通用的项目列表。 项目列表与PropertyChangedEventHandler连接。 如果我用新的集合替换整个集合,listview会更新。 model.Items = new List{ new DataItem{ Title = “new item” }}; 这导致具有上述项目的一个项目列表。 但是,如果我尝试添加项目,则没有任何反应 model.Items.Add(new DataItem{ Title = “added item” }); 我也尝试创建一个添加项目并专门解雇PropertyChanged的方法,但这也不起作用 这就是它变得奇怪的地方。 接下来我尝试了这段代码。 model.Items.Add(new DataItem { Title = “added item” }); model.Items = new List { new DataItem { Title […]

在Windows Phone / C#中的类之间传递对象

我是Windows Phone和C#的新手,享受Objective-C和Java的变化。 我无法找到将对象从一个类传递到另一个类的方法。 我在MSDN上看到了一些示例代码,但我认为它可能不适用于我需要的内容。 private void meetingList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (meetingList.SelectedIndex != -1) { Meeting aMeeting = (Meeting)meetingList.SelectedItem; this.NavigationService.Navigate(new Uri(“/MeetDetails.xaml”, UriKind.Relative)); ApplicationBar.IsVisible = true; } } 如何将会议对象’aMeeting’传递到我的MeetDetails类,以便我可以向用户显示所有详细信息。 我知道我可以将其分解,并使用以下内容传递来自’aMeeting’的所有变量: this.NavigationService.Navigate(new Uri(“/MeetDetails.xaml?Meeting=” + aMeeting.meetName + “&TheDate=” + aMeeting.meetDate, UriKind.Relative)); 有没有我错过的东西? 你们会推荐其他方式吗? 非常感谢,-Code

创建AttachedProperty以保存滚动条标记的位置

我为DataGrid创建了一个略微自定义的垂直滚动条。 在其中我添加了一个ItemsControl来保存所选项目的位置。 到目前为止,这是一个带有硬编码标记的模型。 下面是我自定义的垂直滚动条模板,其中ItemsControl放置有硬编码标记值。 30 70 120 170 我接下来要做的是创建一个AttachedProperty来保持标记位置并将其绑定回ItemsControl。 我真的不明白的是: – 这个附加属性Type应该是什么,int的ObservableCollection? – 由于这是DataGrid中所选项目总数的指南,标记的位置是否需要以某种方式缩放? – 我有一个捕获DataGrid.SelectionChanged的附加行为,但是如果主集合发生变化,那么它似乎不是一个事件呢? [编辑] 直接绑定到DataGrids SelectedItems。 (但是当选择某些内容时,ItemsControl顶部会出现闪烁) – 删除或注释掉SelectionChanged行为。 – 将ItemSource更改为: ItemsSource=”{Binding ElementName=GenericDataGrid, Path=SelectedItems}” – 将Multibinding更改为: – 最后转换为: public class MarkerPositionConverter: IMultiValueConverter { //Performs the index to translate conversion public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { //calculated the […]

Wpf c#中的DataGrid单元格单击编辑模式?

我的wpf应用程序中有DataGrid。 这是一些事件。 我需要单击编辑datagrid单元格。 当我双击单元格时,它正在改变。 我已经采取了一些措施。 但是,它对我不起作用。 行和列不一致。 动态地,我将为Datagrid创建列。 这是我的代码.. XAML: 我曾经为“GotFocus”事件添加了一些代码。 但它不适合我。 任何帮助都会得到真正的重视。 CS: private void dgTest_GotFocus(object sender, RoutedEventArgs e) { // Lookup for the source to be DataGridCell if (e.OriginalSource.GetType() == typeof(DataGridCell)) { // Starts the Edit on the row; DataGrid grd = (DataGrid)sender; grd.BeginEdit(e); } }

在UWP(通用Windows应用程序),Windows 10中创建自定义形状控件

我想创建一个自定义的Shape控件,它根据一些自定义属性绘制不同的形状,如Polygon , Ellipse , Rectangle等。 我能够像这样创建一个自定义模板控件ColorShape : 然后,重写OnTemplateChanged方法,并在shapeParent ContentControl插入相应的Shape控件 但我想要的是实际扩展Shape ,所以我可以用同样的方式处理所有的形状,框架和自定义。 在WPF中,我们能够扩展Shape并覆盖属性DefiningGeometry 。 在UWP中,不存在要覆盖的任何DefiningGeometry属性。 如何创建自定义Shape控件并定义相应的Geometry?

如何拥有照片查看器样式页面?

我不知道我是否正确命名,但我有一个显示一行图片的应用程序。 如果用户向左滑动,则全屏显示前一张图片,如果向右滑动,则会出现全屏下一张图片,两者的动作与在Photo应用程序或PDF阅读器中查看图片完全相同。 我以为我可以操纵全景控制以适应这个,但我无法全屏显示图片,顶部有标题的位置。 我怎样才能做到这一点? 有小费吗 注意:此stackoverflow上的策略很烦人。 有些类型的人可以投票关闭,或者说一些句子片段:你尝试了什么或你的代码在哪里。 从基地关闭这个问题以获得良好的感觉。 这是关于让导游有一种观看方式..我应该展示什么代码,如果不知道如何执行它? 无论如何,我找到了答案,没有必要这样做。

更改选项卡时刷新/重新加载MUI WPF页面

我正在使用Modern UI for WPF开发桌面应用程序。 当我转到新标签页时,我尝试刷新标签页,但我不能。 当我使用我的标签控制器转到另一个页面时,我想刷新我的MUI WPF标签页。 谁能帮我?

如何加载外部XAML ResourceDictionary

如何像这样添加ResourceDictionary? ResourceDictionary template = new ResourceDictionary(); template.Source = new Uri(“Design.xaml”, UriKind.Relative); Application.Current.Resources.MergedDictionaries.Add(template); 绝对的Uri它完美地工作但是来自Relative does。

将自动化ID添加到绑定的combobox项目

我不太熟悉XAML或绑定,但我一直在每个GUI元素上设置AutomationID。 不幸的是我找不到在ComboBox项目上设置AutomationID的方法。 以下是在XAML中声明ComboBox的方法。 在单独的类中,这是创建combobox中的项目的位置。 public enum MoveType { [StringValue(“INBOUND”)] Inbound, [StringValue(“OUTBOUND”)] Outbound } 我无法真正提供更多代码,但我可以尝试回答任何问题。

如何使用按钮单击从另一个xaml窗口打开xaml窗口?

private void Button_Click(object sender, System.Windows.RoutedEventArgs e) { Win1 OP= new Win1(); OP.show(); } OP.show()抛出一个错误。 它是一个用户控制表单。