Tag: wpf

C#在任务中更新UI

我是C# Task和线程的新手。 我有一个如下代码: – public void UpdateSales(object sender, EventArgs args) { Task.Run(() => { // Some code Create Collection … // Some code with business logic .. // Below code is to update UI // is it safe to update UI like below saleDataGrid.Dispatcher.Invoke((Action) (() => { saleDataGrid.ItemsSource = currentCollection; saleDataGrid.Items.Refresh(); })); }); } 我不确定这段代码是否正确。 […]

OnMouseMove不会在WPF中的canvas上触发

我已完成自定义图表控件,我想在光标后面绘制一个简单的十字形。 该图表在Canvas上实现为PolyLine,我在Canvas的OnMouseMove事件中绘制两条线来更改它们的坐标。 令人惊讶的是发现当MainGUI线程空闲时,事件只被调用每10秒左右事件(UI完全响应,如果我暂停应用程序主线程在App mainForm.ShowDialog()) 。 关于如何找到原因的任何想法都会发生? 我使用OnMouseMove或PreviewOnMouseMove获得相同的性能。 编辑:这就是我画十字架的方式(无论如何,如果我在OnMouseMove上设置一个断点,它只会不时停止)。 XAML: CS: public Chart() { _line = new Polyline(); _line.Stroke = Brushes.Orange; _crossX = new Line(); _crossY = new Line(); _crossX.Stroke = Brushes.Orange; _crossY.Stroke = Brushes.Orange; _crossX.StrokeThickness = 1; _crossY.StrokeThickness = 1; InitializeComponent(); this.DrawArea.Children.Add(_line); this.DrawArea.Children.Add(_crossX); this.DrawArea.Children.Add(_crossY); } private void DrawArea_MouseMove(object sender, MouseEventArgs e) { Point mousePosition = […]

当鼠标hover在按钮WPF上时如何制作一个改变图像的图像按钮?

我正在尝试制作一个图像按钮,当鼠标hover在按钮上时会改变图像,我尝试了一些东西 这是我尝试的最后一件事,但它不起作用: 我想只使用XAML,没有cs文件谢谢

如何显示与文件类型关联的所有程序的列表?

我正在寻找构建一个打开列表,就像在窗口上下文菜单中,为图像文件。所以我怎么能得到与文件类型相关的所有程序的列表?

WPF:Slider不会引发MouseLeftButtonDown或MouseLeftButtonUp

我试过这个XAML: 这个C#: private void slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { sliderMouseDown = true; } private void slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { sliderMouseDown = false; } sliderMouseDown变量永远不会更改,因为从不引发MouseLeftButtonDown和MouseLeftButtonUp事件。 当用户在滑块上按下鼠标左键以将bool值设置为true时,如何使用此代码,并且当鼠标启动时,bool设置为false?

在ListView控件中显示数据表

如何在WPF中的ListView控件中显示DataTable?

WPF中UserControl中DesignWidth和Width之间的差异

当我在WPF中创建一个新的UserControl时,studio会创建一些XAML: 在UserContol我还可以添加Width属性。 DesignWidth和Width什么区别?

如何在代码中获取ListBox ItemsPanel

我有一个带有ItemsPanel的ListBox 我想使用后面的代码中的TranslateTransform沿X轴移动堆栈面板。 问题是,我找不到Stack Panel。 ThumbListBox.FindName(“ThumbListStack”) 什么都不返回 我想用它: Storyboard.SetTarget(x, ThumbListBox.FindName(“ThumbListStack”)) 如何获取堆栈面板,以便我可以将其与TranslateTransform一起使用 谢谢

Wpf事件没有冒泡

这是我的XAML: 这是C#代码: namespace WpfApplication4 { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { protected int eventCounter = 0; public MainWindow() { InitializeComponent(); } private void somethingClicked(object sender, RoutedEventArgs e) { eventCounter++; String message = “#” + eventCounter.ToString() + “:\r\n” + ” Sender: ” + sender.ToString() + “:\r\n” + ” […]

WPF Converter转换导致Visual Studio设计器exception

如下所示的转换器将导致2008 Visual Studio设计器不显示xaml,并且错误输出“指定的转换无效”。 例外。 public class ItemsVisibilityToGridColumnWidthConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { //THE TWO OFFENDING LINES… var itemsVisibility = (Visibility)values[0]; var orientation = (Orientation)values[1]; if (orientation == Orientation.Horizontal && itemsVisibility != Visibility.Visible) { return new GridLength(0); } return new GridLength(4, GridUnitType.Star); } public object[] ConvertBack(object value, […]