我有一个Outlook 2013和2016 VSTO外接项目,并试图将WPF用户控件添加到自定义任务窗格中,如此处所述。 我遇到的问题是,当我添加用户控件(WPF)时,它会生成一个带有网格的WPF控件,但会自动抛出“types”UserControl“不支持直接内容”的错误。 WPF生成: <UserControl x:Class="TestNamespace.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:TestNamespace" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <Grid> </Grid> </UserControl> 我知道在过去,我不得不将WPF项目typesguid添加到.proj文件,以获得一些工作,但添加这没有什么区别(事实上,它甚至不会按照特定顺序加载)。 原版的: <ProjectTypeGuids>{BAA0C2D2-18E2-41B9-852F-F413020CAA33};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 崩溃: <ProjectTypeGuids>{BAA0C2D2-18E2-41B9-852F-F413020CAA33};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 不会崩溃,但不会修复错误: <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{BAA0C2D2-18E2-41B9-852F-F413020CAA33};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 任何人都可以指向正确的方向吗? UPDATE 我试图直接创build一个新的类库项目,添加一个WPF用户控件,然后添加到System.Xaml的引用,我有同样的问题。
Xamarin 3.0引入了Xamarin.Forms ,这是一个强大的UI抽象,允许开发人员轻松创build可在Android,iOS和Windows Phone上共享的用户界面。 它看起来非常强大,但我面临一些困难,创buildUI为Xamarin.Forms带有超过40个控件。 如果没有智能感知或简约devise师,在官方文档中search所有属性或浏览c#代码是相当不利的。 默认的Xaml teamplate是这样的,显然不需要任何帮助就可以添加新的控件。 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="App1.Class1"> <Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" /> </ContentPage> 那么有没有机会在Xaml内部具有智能感知或者使用Xamldevise师?
有什么区别 TargetType="{x:Type Button}" 和 TargetType="Button"
我试图决定在企业软件开发中如何使用F#和C#。 math代码的F#是一个不费吹灰之力。 我喜欢使用F#进行GUI工作,尽pipe它缺lessGUIdevise器支持,但是,当然,C#GUI人员在工业中有更多的资源可用性。 但是,我不太熟悉C#+ XAML GUI开发,因此我担心引入偏见。 在一个客户端的情况下,他们有几十个相当静态的GUI(每年更换)和一些其他非常dynamic的GUI(例如业务规则引擎)。 他们已经拥有F#代码,并已经投入了F#培训,所以技能可用性不是问题。 我的印象是,C#+ XAML可以让你轻松地构build静态GUI(几个滑块,一些文本框等),但是我看不到GUIdevise器如何帮助像编程规则引擎这样的程序化GUI。 我是否认为保持大部分静态GUI(例如,向100个独立的GUI添加新的字段)将需要手动操作? 另外,我认为GUIdevise器在大量程序化的GUI环境中几乎没有用处,所以像业务规则引擎这样的东西,主要是用C#+ XAML编写的,很less使用GUIdevise器。
在WPF中使用MVVM时,最终的项目结构是什么? 从我现在看到的教程中,他们通常有文件夹:Model,ModelView和View。 在模型中,你把像Person这样的类放在捕获数据和逻辑的地方。 在ModelView中,您可以实例化在Model中定义的类。 该视图包含.xaml文件。 编辑:我编辑我原来的post发送一个示例项目结构。 我有这个问题。 如何组织这些:App.config App.xaml MainWindow.xaml 我应该像现在一样离开他们,还是应该把他们放在一个文件夹里?
我创build了一个类Person,如下所示: public class Person { public enum GenderType { Female, Male } public string Name { get; set; } public GenderType? Gender { get; set; } } 接下来,我创build了要呈现Persontypes的对象的数据模板。 这里是XAML代码: <DataTemplate x:Key="personTemplate" DataType="{x:Type model:Person}"> <StackPanel> <RadioButton Content="Female" IsChecked="{Binding Path=Gender, Converter={StaticResource genderConverter}, ConverterParameter=???}"/> <RadioButton Content="Male" IsChecked="{Binding Path=Gender, Converter={StaticResource genderConverter}, ConverterParameter=???}"/> <RadioButton Content="Not specified" IsChecked="{Binding Path=Gender, Converter={StaticResource genderConverter}, […]
我正在使用MVVM模式构build我的第一个WPF。 在这个社区的帮助下,我设法创build了我的模型,我的第一个ViewModel和视图。 现在我想为应用程序devise基本的应用程序布局界面增加一些复杂性。 我的想法是至less有两个子视图和一个主视图,并将它们分开放在几个XAML上: Main.XAML Products.XAML Clients.XAML Main将有一个菜单和一个空间来加载子视图(产品和客户端)。 现在,遵循MVVM模式,视图之间的所有导航逻辑应该被写在ViewModel上。 所以mi想法是有4个ViewModels: MainViewModel ProductsViewModel ClientsViewModel NavigationViewModel 那么NavigationViewModel应该包含一系列的子视图模型? 一个活跃的视图模型是可行的? 所以我的问题是: 1)如何使用MVVM模式在主视图中加载不同的视图(产品,客户端)? 2)我如何实现导航视图模型 3)如何控制打开或活动视图的最大数量? 4)如何在打开的视图之间切换? 我一直在做大量的search和阅读,找不到任何简单的MVVM导航WPF导航,在主视图中加载多个视图的例子。 其中许多是: 1)使用外部工具包,我现在不想使用。 2)将创build所有视图的所有代码放在一个单独的XAML文件中,这似乎不是一个好主意,因为我需要实现近80个视图! 我在这里的道路上? 任何帮助,特别是一些代码将被折衷。 谢谢! UPDATE 所以,我build立了一个@LordTakkera的build议,但卡住了testing项目。 这是我的解决scheme的样子: 我创造: 两种模式(客户和产品) 一个MainWindow和两个wpf用户控件(客户和产品)XAML。 三个ViewModel(客户,产品和主ViewModel) 然后我把每个视图上的dataContext设置为相应的viewModel。 之后,我使用ContentPresenter创buildMainWindow,并将其绑定到viewmodel的属性。 MainWindow.XAML <Window x:Class="PruevaMVVMNavNew.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="519" Width="890"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="150"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="80"/> […]
在WPFvalidation中 ,以下是什么区别: ValidatesOnNotifyDataErrors = True ValidatesOnDataErrors = True NotifyOnValidationError = True 什么时候应该在XAML中正确使用这些属性?
我正在尝试使用XAML创build用户界面。 但是,该文件正在迅速变得非常大,难以处理。 什么是最好的方式分裂它跨越几个文件。 我想能够将一个元素,如一个combobox的内容设置为一个不同的xaml文件(但在同一VS项目)定义的元素。 谢谢
我有我的用户控件的窗口,我想使用户控件宽度等于窗口宽度。 怎么做? 用户控件是一个水平菜单,包含一个三列的网格: <ColumnDefinition Name="LeftSideMenu" Width="433"/> <ColumnDefinition Name="Middle" Width="*"/> <ColumnDefinition Name="RightSideMenu" Width="90"/> 这就是我想要窗口宽度的原因,将用户控件拉伸到100%的宽度,与第二列相对。 编辑: 我正在使用网格,有窗口的代码: <Window x:Class="TCI.Indexer.UI.Operacao" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:tci="clr-namespace:TCI.Indexer.UI.Controles" Title=" " MinHeight="550" MinWidth="675" Loaded="Load" ResizeMode="NoResize" WindowStyle="None" WindowStartupLocation="CenterScreen" WindowState="Maximized" Focusable="True" x:Name="windowOperacao"> <Canvas x:Name="canv"> <Grid> <tci:Status x:Name="ucStatus"/> <!– the control which I want to stretch in width –> </Grid> </Canvas> </Window>