我使用VS 2017 15.3.3时遇到问题
我喜欢在buildin调试器可视化工具中显示一个wpf窗口,并获得上面的错误.
我试过的事情:
视觉工作室环境从VS 2015更新,我在VS2015/VS2017中使用了Shifflett/Smith的调试器可视化器"mole",但现在已将它们卸载.
下一步可能会重新安装vs 2017,但我想知道是否还有其他事情需要事先检查......
我有一个奇怪的行为:我有一个包含文本框和(简单)用户控件(文本框和按钮)的MainWindow,但我将其剥离为仅用于调试目的的文本框.
当我使用textboxes和usercontrols WITHOUT设置TabIndex属性时,光标按正确的顺序逐步执行控件(按照控件添加到窗口的顺序)
当我使用textboxes和usercontrols WITH设置TabIndex属性时,光标以无效顺序(首先是所有用户控件,然后是所有文本框)逐步执行控件,当TabIndex设置为与控件的顺序相对应的值时也是如此添加
这是我的usercontrol
<UserControl x:Class="SmallControl"
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"
>
<TextBox x:Name="txTEXT" Text="{Binding Text}" />
</UserControl>
Run Code Online (Sandbox Code Playgroud)
以下Mainwindow xaml导致订单000000,111111,222222,333333,好吧
<GroupBox Header="Small,Textbox,Small,TextBox without TabIndex">
<UniformGrid Columns="4">
<local:SmallControl Text="000000" />
<TextBox Text="111111" />
<local:SmallControl Text="222222" />
<TextBox Text="333333" />
</UniformGrid>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
以下Mainwindow xaml导致订单000000,222222,111111,333333,那不行
<GroupBox Header="Small,Textbox,Small,TextBox with TabIndex">
<UniformGrid Columns="4">
<local:SmallControl TabIndex="0" Text="000000" />
<TextBox TabIndex="1" Text="111111" />
<local:SmallControl TabIndex="2" Text="222222" />
<TextBox TabIndex="3" Text="333333" />
</UniformGrid>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用TabIndex而不必强制在xaml中以"正确"的顺序添加控件?
关心克劳斯
我正在使用一个powershell脚本,内部调用msbuild来构建我的解决方案.这原则上是有效的,因此解决方案文件是可以的.
我可以重复构建,它完美无缺.
但构建依然存在
所以我的怀疑是,msbuild正在使用一些在重新启动时未加载的组件/在工作期间卸载的组件.
但我不知道如何找到问题......
我使用此exe:C:\ Program Files(x86)\ MSBuild\14.0\bin\MsBuild.exe
有任何想法吗?
我正在寻找一种方法来扩展文本框的上下文菜单.我知道有很多解决方案可以重新创建整个上下文菜单,但是我怎么能简单地在现有的上下文菜单中添加一个自定义条目呢?
谢谢克劳斯
我有一个带有分层数据模板的树
<HierarchicalDataTemplate DataType="{x:Type local:TreeItem}" ItemsSource="{Binding Path=Children}" >
<TreeViewItem Focusable="True" ToolTip="{Binding ToolTipText}" >
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal" Focusable="True" >
<Image Width="16" Height="16" Margin="3,0">
<Image.Source>
<Binding
Path="IsLeaf" Converter="{StaticResource cnvIsBooleanToStringArrayItemConverter}">
<Binding.ConverterParameter>
<x:Array Type="sys:String">
<sys:String>..\Images\document_plain.png</sys:String>
<sys:String>..\Images\folder.png</sys:String>
</x:Array>
</Binding.ConverterParameter>
</Binding>
</Image.Source>
</Image>
<TextBlock MaxWidth="300" Text="{Binding Desc}" Focusable="True" />
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
</HierarchicalDataTemplate>
Run Code Online (Sandbox Code Playgroud)
我想通过单击包含"Desc"的TextBlock来选择项目,但选择项目的唯一方法是单击文本左侧的空白(图像区域)
什么缺失的线索?
关心克劳斯
我有一个带有自定义列(派生自 DataGridTextColumn)的 WPF 数据网格 (4.0)。
在 GenerateEditingElement 中,我创建了一个自定义文本框控件(带有一个附加按钮),并且喜欢将光标设置到其中以便用户可以直接开始编辑。
我得到的最接近的是插入符号显示但不闪烁,我需要额外单击才能开始编辑。
所有其他东西(绑定,...)运行良好
有任何想法吗?
我对csproj文件有疑问。
由于我拥有大量的源库,因此我正在尝试最大程度地减少项目文件上的冲突(与团队一起开发时)。
我设法通过使用如下标记消除了大多数碰撞:
<Compile Include="Services\**\*.cs" />
Run Code Online (Sandbox Code Playgroud)
对于普通的cs文件和
<Page Include="Entities\**\*.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
Run Code Online (Sandbox Code Playgroud)
用于xaml和代码隐藏。
不幸的是,我松开了.xaml和.xaml.cs对的分组,这是可以忍受的,但是笨拙。
有什么办法为这些创建通用模式吗?
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
Run Code Online (Sandbox Code Playgroud)
我知道分裂csproj本身的可能性,但这将禁止解决方案范围内的搜索,因此这是不可行的