Tag: xaml

Visual Studio设置:如何将垂直拆分视图设置为默认值

我正在使用C#(WPF),当我打开XAML文件时,它每次都会拆分为Vertical ,我正在更改为Horizontal ,但是当我再次重新打开它仍然是Vertical ,是否可以将默认设置为Horizontal view。 例子: 首先是垂直视图 第二是Horizo​​ntalview

UWP XAML设计器无法加载

当我创建一个新的通用应用程序时,XAML设计器不会加载,它会显示以下exception: 重新启动Windows,重新打开项目甚至重新安装VS并没有解决这个问题。

如何从特定颜色创建MahApps.Metro重音资源?

我在MahApps网站 (页面底部)注意到了这一点:“也可以通过使用特定颜色动态创建重音资源字典。”但我发现更多地方无处可寻。 是否真的有内置方法(或其他任何东西)? 我只找到了ThemeManager.AddAccent(string name, Uri resourceAddress) ,并使用new Accent(string name, Uri resourceAddress)创建了一个新的重音(当前new Accent(string name, Uri resourceAddress) ,因此名称和资源uri总是需要… 有任何想法吗?

如何通过拉下物品来刷新?

对于这个问题有很多答案,但是,正如我所看到的,所有这些都是关于在底部获取旧项目。 这个解决方案 void resultList_ItemRealized(object sender, ItemRealizationEventArgs e) { if (!_viewModel.IsLoading && resultList.ItemsSource != null && resultList.ItemsSource.Count >= _offsetKnob) { if (e.ItemKind == LongListSelectorItemKind.Item) { if ((e.Container.Content as TwitterSearchResult).Equals(resultList.ItemsSource[resultList.ItemsSource.Count – _offsetKnob])) { _viewModel.LoadPage(_searchTerm, _pageNumber++); } } } } 是在向下滚动时获取物品。 如何在顶部获取新的内容(底部不是更旧的内容)? 如何知道用户是否向上滚动LongListSelector

从ContinueFileOpenPicker方法导航到其他页面

我正在使用FilePicker for Windows Universal应用程序,我正在尝试从MainPage.xaml启动文件选择器,然后导航到另一个页面(LoadPhoto.xaml)以呈现所选图像。 我最初实现了我的应用程序,以便我导航到LoadPhoto.xaml然后,作为加载页面的一部分,我将调用文件选择器。 但是,这会在恢复应用时导致问题,因此我将File Picker调用移出构造函数。 在最新的实现中,我从MainPage.xaml调用文件选择器,然后,如果已选择照片,则导航到LoadPhoto.xaml。 然而,某处似乎存在竞争条件:有时,应用程序在选择图片后停留在MainPage上(看起来它实际上导航到LoadPhoto页面,但有些东西使Frame返回到MainPage)。 其他时候,应用程序成功导航到LoadPhoto页面并呈现图像,但如果我使用“后退”按钮导航回来,然后再次按“选择照片”按钮,则会短暂显示FilePicker,然后应用程序崩溃。 VS附加此行为不会重现。 在调试模式下执行时一切正常。 我认为根本原因是ContinueFileOpenPicker代码是从一个工作线程执行的,所以我不应该调用this.Frame.Navigate(typeof(LoadPhoto), file); 从那个线程。 该调用应该来自主线程,但我不知道该怎么做。 不幸的是,这并不能解决问题: await CoreWindow.GetForCurrentThread().Dispatcher.RunAsync(CoreDispatcherPriority.Norm‌​al, () => { this.Frame.Navigate(typeof(LoadPhoto), file); }); 如何从ContinueFileOpenPicker方法导航到其他页面? repro的完整代码就在这里 。

从静态切换到viewmodel范例会导致属性从combobox中消失

我确信对不良行为有一个非常合乎逻辑的解释(我最有可能的原因)。 但由于无知,我不确定如何解决它。 这就是发生的事情。 当我绑定到静态资源时,将自动显示属性Name (它由重写的ToString实现开始提供)。 然后,我尝试将代码重写为MVVM模式,因此我将其更改为此。 试图明确地设置路径不起作用(没有任何改变,程序执行良好,但在列表中没有显示任何内容。(提示是我做错了,因为intellisense只建议AllOptions而不是Name作为Path的替代。 ) 因此,切换到视图模型会导致属性Name的文本消失。 在破解viewmodel的构造函数时,我可以看到所服务的元素数量(及其内容)是正确的,如下所示。 class Presenter { private IEnumerable _allOptions; public IEnumerable AllOptions => _allOptions.Where(element => true); public Presenter() { _allOptions = DataAccessor.GetStuff(); } } 我已经将viewmodel连接到视图,就像这样。 我可能错过了什么?! 编辑 我刚刚意识到绑定到组件的列表是空的 。 绑定不会发生。 我被展开的combobox欺骗了但是当我清空列表时,它似乎有一个默认的行数,它显示的是独立于添加元素的数量! 所以,问题是我的绑定没有设法绑定。 在博客中我看到博主视图模型实现了BindableBase 。 根据intellisense,我没有这样的课程。 是INotify ……相应的东西?

对象引用未设置为object.Windows.forms控件的实例导致此操作

我有一个例外。 我像这样为InitializeComponent()创建了一个try catch。 try { InitializeComponent(); Auto_Complete(); } catch(Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } 然后我得到一个exception,说“对象引用未设置为对象的实例。”。 我一直在寻找错误的原因。 然后我发现错误是由于我在xaml中添加了一个控件。 xmlns:wf=”clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms” 这是我添加到xaml中的自动完成function的windows.forms控件。 但是这个例外使得它变得困难。 我创建了一个autocomplete()函数并连接了文本框: void Auto_Complete() { txtAutoProductCode.AutoCompleteMode = AutoCompleteMode.SuggestAppend; txtAutoProductCode.AutoCompleteSource = AutoCompleteSource.CustomSource; AutoCompleteStringCollection coll = new AutoCompleteStringCollection(); SqlCeCommand com = new SqlCeCommand(“SELECT ProductCode FROM Category_Master(CategoryName)”, con); SqlCeDataReader dr; try { dr = com.ExecuteReader(); while (dr.Read()) { string aProduct […]

Flyout上的VisualStateManager不突出显示整个区域

我有一个VisualStateManager,当指针在项目上时控制背景颜色。 问题是,它不会突出显示整个区域,只是文本和图标周围的一小部分。 这是我的代码: 未完全突出显示 编辑: 谢谢大家的答案。 我会尽可能地研究这些解决方案; 我最终做了一些不同的事情 – 使区域变大,这样你就可以通过添加填充来看到亮点。 这不是我想要的,这就是为什么我会研究这些。

HierarchicalDataTemplate不起作用

我试图使用HierarchicalDataTemplate递归创建包含项目的扩展器,但是当我使用HierarchicalDataTemplate时,我只获得显示的第一级项目。 如果您需要任何信息,请告诉我。 如果我是手写的话,那就是xaml的样子: etc…… 这是我到目前为止所拥有的。 XAML: 数据类: class TopViewModel { ObservableCollection _sections = new ObservableCollection(); public ObservableCollection Sections { get { return _sections; } set { _sections = value; } } } public class SectionViewModel { ObservableCollection _materials = new ObservableCollection(); ObservableCollection _subSections = new ObservableCollection(); Section _section; public Section Section { get { return […]

使用带有Frame控件的Prism NavigationService赢得通用应用程序

如何将Prism NavigationService与Frame控件结合起来? 我有一个包含框架的主页面。 首先,我必须导航到主页面,之后我想更改NavigationSerices,以便它使用Frame而不是整个页面。 所以我需要像Windows-Store-App-Prism框架中的Prism 5.0区域。 一个类似的问题已经解决了: 注册导航服务到框架元素而不是页面 – WinRt Prism 2.0,但我不喜欢这个解决方案。