DataGridView当用户单击控件的空白(非行)部分时,我想取消选择控件中的所有选定行.
我怎样才能做到这一点?
在 WPF 中,所有控件都继承 DispatcherObject,并且可以轻松访问 Dispatcher。
如何使用 WinUI 3 Windows App SDK 获取 DispatcherQueue 并在 ViewModel 中使用它?
编辑
我的实现扩展了 mm8 最受赞赏的答案。
在我的 ViewModel 中创建一个属性
public Microsoft.UI.Dispatching.DispatcherQueue TheDispatcher { get; set; }
然后在我的 MainPage.xaml.cs 代码隐藏中获取调度程序Constructor
ViewModel.TheDispatcher = Microsoft.UI.Dispatching.DispatcherQueue.GetForCurrentThread();
现在我的虚拟机中有调度程序,因此可以轻松地从虚拟机使用它:
TheDispatcher.TryEnqueue(() =>
{
// some ui thread work
});
Run Code Online (Sandbox Code Playgroud)
注意:我没有将此作为答案发布,因为有一个答案,这是我的实现,旨在帮助任何感兴趣的人。
Visual Studio 2012将_1添加到我在XAML中创建的任何单击事件处理程序
即:我创建一个新的WPF解决方案,放下一个按钮,在XAML中给按钮一个名字,输入'click'并且intellisense打开'New Event Handler',我点击它,它创建事件但是它命名为btn_test_click_1
在VS2010中我们没有得到_1,我怎么能阻止这种情况让我疯狂?
更新 我可以确认VS2012 Update 2已修复此问题
我试图在VS2012属性窗格中编辑BorderBrush(编辑:或确实需要颜色选择器的任何元素).
在MainWindow中选择border元素后,在属性窗格中选择Brush> BorderBrush> Solid color brush.
颜色选择器和RGBA值周围有一个黄色边框,我无法在编辑器中更改任何内容,我可以在MainWindow元素XAML中输入正确的值,即BorderBrush ="#FF777777"我只能使用属性编辑器设置它们!
如何让编辑器工作?
我们有一个.Net核心身份服务器,一个.Net Core Api,我们的客户端是桌面和移动应用程序.
通过文档查看我们的用户似乎需要使用混合流程登录,但似乎此流程适用于Web浏览器应用程序.
验证我的桌面用户并授予他们访问Api的正确流量/ grant_type是什么?
如何从fixedDocument中删除页面?
我添加如下页面:
// Add page to pageContent
PageContent pageContent = new PageContent();
((IAddChild)pageContent).AddChild(fixedPage);
// Add pageContent to wholeDoc
fixedDocument.Pages.Add(pageContent);
//Add to documentVeiwer
documentViewer1.Document = fixedDocument;
Run Code Online (Sandbox Code Playgroud)
但是没有'fixedDocument.Pages.Remove(page)'方法!我能做什么?
如何通过提供电子邮件地址来检索ASP.NET MembershipUser,没有任何超载的Membership.GetUser()电子邮件地址.
任何人都可以为我说明这一点,我有一个RichTextBox,我将xaml文件加载到其中.我需要用真实数据替换RichTxtBox文本的某些部分,即'[our_name]'替换为'Billie Brags'.我的xaml文件包含粗体和字体大小等格式.
当我运行我的代码(如下所示)时,我可以更改文本,但是我会丢失格式.
知道如何做到这一点并保持格式化吗?
谢谢
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
using (fs)
{
TextRange RTBText = new TextRange(rtb_wording.Document.ContentStart, rtb_wording.Document.ContentEnd);
RTBText.Load(fs, DataFormats.Xaml);
}
TextRange tr = new TextRange(rtb_wording.Document.ContentStart, rtb_wording.Document.ContentEnd);
string rtbContent = tr.Text;
rtbContent = rtbContent.Replace("<our_name>", "Billie Brags");
System.Windows.MessageBox.Show(rtbContent);
FlowDocument myFlowDoc = new FlowDocument();
// Add paragraphs to the FlowDocument
myFlowDoc.Blocks.Add(new Paragraph(new Run(rtbContent)));
rtb_wording.Document = myFlowDoc;
Run Code Online (Sandbox Code Playgroud) 我刚刚掌握数据绑定,我正在努力绑定到嵌套在对象下方的ObservableCollection中的属性,即在ListView的DataTemplate中我试图绑定到下面的Day.DayDate属性.
它是一个日记应用程序,这是它的结构(编辑,以保持简短):
public class Month : INotifyPropertyChanged
{
public DateTime StartDate { get; set; }
public ObservableCollection<Day> Days { get; set; }
}
public class Day : INotifyPropertyChanged
{
public DateTime DayDate { get; set; }
public ObservableCollection<Gig> Gigs { get; set; }
}
public class Gig : INotifyPropertyChanged
{
// Properties of a gig
}
Run Code Online (Sandbox Code Playgroud)
我最初填充像这样的月份日:
private void InitMonth(Month calendarMonth)
{
// create a Day Object for each day of month, create a gig for each booking on that …Run Code Online (Sandbox Code Playgroud) 我遇到过这个 sumif 公式,我在谷歌搜索上找不到任何帮助 N:N
=sumif(N:N,"Cat",C:C)
Run Code Online (Sandbox Code Playgroud)
所以我理解 SumIf,根据文档:
SUMIF(range, criterion, [sum_range])
Run Code Online (Sandbox Code Playgroud)
但我并不完全理解N:N. 还请说明!A:A
有人可以提供官方解释或指向我的文档。
在桌面应用程序的 WinUI 3 中,我有一个要更新的属性,该属性通过x:Bind.
我想像Dispatcher在 WPF 中那样使用 UI 线程并避免在更新 prop 时出现线程错误:
System.Runtime.InteropServices.COMException: 'The application called an interface that was marshalled for a different thread. (0x8001010E (RPC_E_WRONG_THREAD))'
当我尝试时,我只是不确定如何在 WinUI 3 中执行此操作
DispatcherQueue.GetForCurrentThread().TryEnqueue(() =>
{
AeParty.OnSyncHub = false; // Prop bound in ui using x:Bind
});
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
DispatcherQueue.GetForCurrentThread()一片空白
我也尝试过:
this.DispatcherQueue.TryEnqueue(() =>
{
AeParty.OnSyncHub = false;
});
Run Code Online (Sandbox Code Playgroud)
但它不会编译:
然后我发现了这个GitHub 问题,所以我尝试了:
SynchronizationContext.Current.Post((o) =>
{
AeParty.OnSyncHub = false;
}, null);
Run Code Online (Sandbox Code Playgroud)
这可行,但为什么我无法使用虚拟机中的调度程序进入 UI 线程?
wpf ×4
c# ×3
.net ×2
data-binding ×2
winui-3 ×2
xaml ×2
asp.net ×1
asp.net-core ×1
datagridview ×1
datatemplate ×1
desktop ×1
dispatcher ×1
ide ×1
replace ×1
richtextbox ×1
spreadsheet ×1
winforms ×1
xps ×1