我有一个用XAML代码编写的WPF ListView控件ContextMenu.随着对每一个右键单击ListView的ContextMenu显示,即使有在没有任何项目ListView.
这是我不想要的行为.在ContextMenu如果在该项目应只开放ListView.我没有问题计算项目,但我找不到正确的事件来抑制ContextMenu.
我怎样才能做到这一点?
我正在使用WPF Popup,但它会弹出我桌面上的每个窗口,即使我的应用程序被最小化.我怎样才能让它只停留在它起源的窗口上?当我的窗口在其他窗口后面时,同样的事情发生了:弹出窗口显示在它们之上.
"必须有一些事情可以做!"
谢谢.
我有一个TextBox和一个ComboBox.我想将ComboBox选定的值绑定到文本中TextBox.
请帮忙.
谢谢
假设我们有一个ItemsControl,它与一个源有关.两者之间是否有任何性能差异
ItemsControl.DataContext = resultSet;
Run Code Online (Sandbox Code Playgroud)
和
ItemsControl.ItemsSource = resultSet;
Run Code Online (Sandbox Code Playgroud)
(在两种情况下都在XAML中正确绑定)
有没有办法缩放视图框内容,一个控件的excpet?我有一个带网格的视箱,在这个网格中我有一些控件,我试图缩放视图框中的所有控件,除了一个,是否可能?
非常感谢,保罗
我在wpf中遇到以下问题:
我已经定义了一个包含文本框的用户控件(在命名空间测试中)(以及其他几个控件,只显示了xaml的相关部分):
<UserControl (...)
DataContext="{Binding RelativeSource={RelativeSource Self}}"
name="Spinbox">
(...)
<StackPanel Orientation="Horizontal">
<TextBox x:Name="tbText" (...)>
<TextBox.Text>
<Binding Path="Value" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<local:ValidateValue MinVal="0" MaxVal="1" />
</Binding.ValidationRules>
<Binding.NotifyOnValidationError>true</Binding.NotifyOnValidationError>
</Binding>
</TextBox.Text>
</TextBox>
(...)
Run Code Online (Sandbox Code Playgroud)
在主窗口文件中,我正在使用此spinbox:
<Test:SpinBox x:Name="tbTestSpinbox" Value="{Binding Path=TheValue}"
MinValue="0" MaxValue="150">
<Test:SpinBox.Behavior>
<Controls:SpinBoxNormalBehavior />
</Test:SpinBox.Behavior>
</Test:SpinBox>
Run Code Online (Sandbox Code Playgroud)
在后面的代码中,我定义了TheValue:
private double theValue;
public Window1()
{
InitializeComponent();
TheValue = 10;
}
public double TheValue
{
get { return theValue; }
set
{
theValue = value;
NotifyPropertyChanged("TheValue");
}
}
/// <summary>
/// Occurs when a property value changes
/// …Run Code Online (Sandbox Code Playgroud) 我已经建立了我的第一个wpf应用程序,没有什么花哨的,但我想通过添加设置让它看起来很酷,香港专业教育学院在互联网上研究了一些免费的实用工具,但是因为它是一个wpf应用程序,我看到设置去了沿着这些方向...任何想法我如何创建自定义Wpf设置向导?
我有一个ListView其使用GridView来显示DataTable,并且当新的行被添加到DataTable所述ListView成长,如预期的,但是当它到达底部Canvas它上生长进行.
我希望它在达到高度时停止Canvas,我该如何配置呢?
它Canvas具有动态高度,由其控制DockPanel.
<Canvas>
<ListView Name="listResults" ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn Header="Request Time" DisplayMemberBinding="{Binding RequestTime}" />
<GridViewColumn Header="Request Duration(ms)" DisplayMemberBinding="{Binding Duration}" />
<GridViewColumn Header="Request Duration(ms)" DisplayMemberBinding="{Binding Duration}" />
</GridView>
</ListView.View>
</ListView>
</Canvas>
Run Code Online (Sandbox Code Playgroud) 我有一个"命令"类:
public static class MyCommands
{
private static ICommand exitCommand = new RoutedCommand();
public static ICommand ExitCommand { get { return exitCommand; } }
}
Run Code Online (Sandbox Code Playgroud)
MainWindow.xaml.cs中的代码隐藏:
private void BindCommands()
{
this.CommandBindings.Add(new CommandBinding(MyCommands.ExitCommand, this.Exit));
}
private void Exit(object sender, ExecutedRoutedEventArgs e)
{
Application.Current.Shutdown();
}
Run Code Online (Sandbox Code Playgroud)
实现菜单栏的用户控件中的一些XAML:
<MenuItem Header="_Exit"
Command="{x:Static local:MyCommands.ExitCommand}"
/>
Run Code Online (Sandbox Code Playgroud)
代码有效.我喜欢所涉及的一般模式,我想继续使用它.
但是,我也在努力追求其他目标,例如进行测试驱动开发,并通过我的单元和集成测试实现100%的覆盖率.我还希望100%符合StyleCop和FxCop警告.而且我被抓到了这里.
我的MainWindow.Exit()方法是私有的,正如FxCop(Microsoft.Security:CA2109)所推荐的那样,但这意味着我不能直接从测试中调用它.我想我可以把它公开并压制FxCop消息.或者我可以使用访问者.但是我反对直接针对私有方法编写测试,特别是在这种情况下,因为所有这些都是测试方法而不是命令绑定本身.
我觉得必须有其他方法从我的测试代码调用命令,以便我可以验证命令是否按预期工作(除了手动测试).有什么建议?
我想在这里做一些非常基本的事情,我不希望给我这么多问题.我在我的主要类Window上有一个名为ItemList的公共属性List<string>.我在程序的整个生命周期中添加了这个列表,并希望我在表单上的ListBox控件在我向ItemList属性添加新项时自动更新.
到目前为止,我有以下XAML:
<Window x:Class="ElserBackupGUI.Main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Backup Profile Editor [New Profile]" Height="480" Width="640">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="File">
<MenuItem Header="Open"/>
</MenuItem>
</Menu>
<StackPanel Orientation="Vertical" DockPanel.Dock="Top" Margin="10 10 10 3">
<TextBlock>Items to backup:</TextBlock>
</StackPanel>
<DockPanel DockPanel.Dock="Bottom" Margin="10 0 10 10">
<StackPanel Orientation="Horizontal">
<Button Name="AddDirectoryButton" Height="22.725" Width="120" Margin="0 0 6 0" Click="AddDirectoryButton_Click">Add Directory...</Button>
<Button Name="AddFileButton" Height="22.725" Width="90" Margin="0 0 6 0" Click="AddFileButton_Click">Add File...</Button>
<Button Name="RemoveDirectoriesButton" Height="22.725" Width="75.447" Margin="0 0 6 0">Remove</Button>
</StackPanel>
</DockPanel>
<ListBox Name="SelectedItems" Margin="10 0 10 10" ItemsSource="{Binding …Run Code Online (Sandbox Code Playgroud) wpf ×10
c# ×3
data-binding ×2
listview ×2
.net ×1
binding ×1
combobox ×1
contextmenu ×1
datacontext ×1
datatable ×1
installation ×1
itemssource ×1
listbox ×1
performance ×1
size ×1
testing ×1
textbox ×1
validation ×1
viewbox ×1
wizard ×1
xaml ×1
z-order ×1
zoom ×1