有什么办法可以将Command与DataGridHyperlinkColumn相关联吗?我试过这个:
<DataGridHyperlinkColumn Header="Client Name" Binding="{Binding ShortName}">
<DataGridHyperlinkColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Hyperlink.Command"
Value="{Binding DataContext.NavigateToClientCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:ClientsSummaryView}}}"/>
<Setter Property="Hyperlink.CommandParameter" Value="{Binding}"/>
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
Run Code Online (Sandbox Code Playgroud)
在运行时,我可以看到正在正确评估绑定(调用Command的属性getter),但是当我单击超链接时不执行Command.有一个更好的方法吗?
谢谢,
丹尼尔
有人知道如何在WPFToolkit图表中关闭noraml LineSeries的数据点吗?我发现它们非常烦人,对我的目的没用,但是我找不到一个简单的属性或类似的东西本身.
我正在使用我在" 自动WPF工具包DataGrid过滤 " 一文中找到的代码(VS2008),该代码非常有效.它被实现为数据网格标题的新"样式",而不是数据网格本身的扩展.我的问题是如何保存输入到这些过滤器框中的值,然后使用它们重新输入这些值?
如果不可能,我将如何修改源代码(可从上面的链接获得)到过滤器(WPF新手).
谢谢,
恩里科
这是我从WPF Extended Toolkit中屏蔽的文本框
<xctk:MaskedTextBox Mask="(000) 000-0000" Value="{Binding Number, UpdateSourceTrigger=PropertyChanged}" />
Run Code Online (Sandbox Code Playgroud)
绑定到属性包括掩码.例如,当我输入9991114444时,该Number属性设置为(999)111-4444.然而,我需要的只是没有遮罩的值(9991114444).我可以用MaskedTextBox实现吗?
number属性是基本字符串属性:
public string Number { get; set; }
Run Code Online (Sandbox Code Playgroud) 我们使用WPF Tookit DataGrid和.NET 3.5大约2年.我们有两个抛出异常的情况 - "对Automation Peer API的递归调用无效".它退出了奇怪和古怪,很少有PC有这样的问题.
案例一:
下拉式combox(WPF Tookit DataGrid作为DropDown内容控件):
它可以通过以下方式解决:
protected override AutomationPeer OnCreateAutomationPeer()
{
return null;
}
Run Code Online (Sandbox Code Playgroud)
此解决方案来自WPF Recursive调用Automation Peer API无效.
案例二:
WPF Tookit DataGrid有一个Temlate列,单元格模板有一个下拉式combox(WPF Tookit DataGrid作为DropDown内容控件).它不能通过上述解决方案来解决.
*Exception Stack:
Exception object: 0ac4e048
Exception type: System.InvalidOperationException
Message: Recursive call to Automation Peer API is not valid.
InnerException: <none>
StackTrace (generated):
SP IP Function
0036E3A4 61A0CEFE PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.GetChildren()+0x366bde
0036E3D4 616A5C34 PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.isDescendantOf(System.Windows.Automation.Peers.AutomationPeer)+0x18
0036E3EC 616A5C73 PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.isDescendantOf(System.Windows.Automation.Peers.AutomationPeer)+0x57
0036E404 616A5C73 PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.isDescendantOf(System.Windows.Automation.Peers.AutomationPeer)+0x57
0036E41C 616A5C73 PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.isDescendantOf(System.Windows.Automation.Peers.AutomationPeer)+0x57
0036E434 616A5C73 PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.isDescendantOf(System.Windows.Automation.Peers.AutomationPeer)+0x57
0036E44C 616A5C73 PresentationCore_ni!System.Windows.Automation.Peers.AutomationPeer.isDescendantOf(System.Windows.Automation.Peers.AutomationPeer)+0x57 …Run Code Online (Sandbox Code Playgroud) 我使用的是librariay Extended WPF Toolkit
https://wpftoolkit.codeplex.com/
可以像普通的窗口一样调整ChildWindow的大小吗?
文档显示了一些似乎相关的属性,但无法通过xaml访问它们.https://wpftoolkit.codeplex.com/wikipage?title=ChildWindow
这是我尝试的例子:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:xcad="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:s="clr-namespace:System;assembly=mscorlib">
<xctk:WindowContainer>
<xctk:ChildWindow WindowBackground="Blue"
Left="75"
Top="50"
Width="275"
Height="125"
WindowState="Open" Canvas.Top="52">
<TextBlock Text="This is a Child Window" Padding="10"/>
</xctk:ChildWindow>
</xctk:WindowContainer>
</Window>
Run Code Online (Sandbox Code Playgroud) 我试图修改WpfToolkit的DropDownButton样式,以便允许我设置背景颜色.
这是DropDownButton的默认样式:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chrome="clr-namespace:Xceed.Wpf.Toolkit.Chromes"
xmlns:conv="clr-namespace:Xceed.Wpf.Toolkit.Core.Converters"
xmlns:local="clr-namespace:Xceed.Wpf.Toolkit">
<conv:InverseBoolConverter x:Key="InverseBoolConverter" />
<LinearGradientBrush x:Key="PopupDarkBorderBrush" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0" />
<GradientStop Color="#FF8399A9" Offset="0.375" />
<GradientStop Color="#FF718597" Offset="0.375" />
<GradientStop Color="#FF617584" Offset="1" />
</LinearGradientBrush>
<LinearGradientBrush x:Key="PopupBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Offset="0" Color="#FFffffff" />
<GradientStop Offset="1" Color="#FFE8EBED" />
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
<Style TargetType="{x:Type local:DropDownButton}">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Padding" Value="3" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:DropDownButton}">
<Grid x:Name="MainGrid" …Run Code Online (Sandbox Code Playgroud) 我正在学习WPF WebView控件,我有以下MainWindow.xaml文件:
<Window x:Class="MyWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyWPF"
xmlns:WPF="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls.WebView"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid x:Name="Grid1" Grid.Row="1" Grid.Column="1">
<WPF:WebView x:Name="webView1"
Grid.Row="0"
Grid.Column="0"
Loaded="WebView_Loaded" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
以及下面的相应MainWindow.xaml.cs文件:
namespace MyWPF
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
webView1.Navigate(new Uri("https://www.google.com"));
}
private void WebView_Loaded(object sender, RoutedEventArgs e)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我没有收到任何预期的弹出窗口。如果我删除
webView1.Navigate(new Uri(" https://www.google.com "));
我可以得到一个空白的弹出窗口。我的代码有什么问题以及如何解决?
更新1
我添加了Window_Loaded事件处理程序并在其中移动了以下两个事件处理程序,现在我可以看到一个空白的弹出窗口,但没有任何内容和消息框。
Uri uri = new Uri("https://www.google.com");
WebView1.Navigate(uri);
Run Code Online (Sandbox Code Playgroud)
整个更新的代码隐藏:
namespace MyWPF
{
/// <summary> …Run Code Online (Sandbox Code Playgroud) 我正在使用wpf工具包中的datepicker控件.我需要在datepicker控件中居中对齐内容.我怎样才能做到这一点?
尝试VerticalContentAlignment ="中心".它没用.
我非常喜欢Silverlight 4 Toolkit中提供的一些预构建控件
我理解CLR是不同的,但我希望我可以下载源代码并重新编译WPF使用的CLR.
这可能吗?在WPF工具包是很基本的比较,没有令人鼓舞的评论.
非常感谢.
wpf ×10
wpftoolkit ×10
c# ×5
.net ×1
alignment ×1
binding ×1
charts ×1
command ×1
datagrid ×1
datepicker ×1
silverlight ×1
webview ×1
xaml ×1