我正在使用这样的标准.NET DataGrid:
<DataGrid ItemsSource="{Binding Datensaetze}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="my col 1" Binding="{Binding MyCol1}"/>
<DataGridTextColumn Header="my col 2" Binding="{Binding MyCol2}"/>
<DataGridTextColumn Header="my col 3" Binding="{Binding MyCol3}"/>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
这很好用.现在我想在ViewModel中定义列,而不是在xaml中设置固定列,我想在运行中生成它们.但是,如果我尝试将列绑定到任何东西,我会收到错误,说
DataGrid.Columns是一个只读属性,无法绑定.
有没有办法动态地将DataGrid列绑定到后面的代码中?
在WCF中,合同可以切换到流模式,以传输大型消息.
在阅读和测试后,在我看来,流模式不能用于双工通道(具有OneWay调用和回调接口的通道).
是这样吗?双工和流媒体不能互相使用吗?或者有办法吗?
(我正在尝试将大文件上传到服务并使用回调来报告此进度)
我有一个遗留的c ++ win32应用程序,并使用wpf windows扩展它确实有效.
但我想要做的是将WPF窗口作为主窗口,而不仅仅是任何旧窗口而是棱镜外壳窗口.
所以对于我的遗留c ++项目,我想添加一个Bootstrapper,shell窗口,MEF加载器,所有的铃声和口哨声.在那里,我想放置一些命令,在需要时打开传统的win32窗口.
现在在win32应用程序中打开WPF窗口很简单,我只需要使用
System::Windows::Forms::Integration::ElementHost::EnableModelessKeyboardInterop(mywindow);
Run Code Online (Sandbox Code Playgroud)
但是如何在WPF应用程序中打开win32窗口?win32窗口需要一个消息泵循环,但我在哪里放这个:
MSG msg;
while (GetMessage(&msg, NULL, NULL, NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Run Code Online (Sandbox Code Playgroud)
我可以为循环创建任何新线程吗?或者是否也有这样的互操作助手?
或者我的想法是疯了吗?
我正在使用包含ListBox的PhoneApplicationPage创建一个WP7应用程序.
当用户选择ListBox中的项目时,将打开另一个页面.
现在我有点困惑:我应该使用哪个ListBox事件处理程序来检测选择,Tap或SelectionChanged?如果是Tap,我如何获得轻拍项目?
我已经下载了最新的Windows.Phone.Controls.Toolkit并在app.xaml.cs中更改了
RootFrame = new PhoneApplicationFrame();
Run Code Online (Sandbox Code Playgroud)
至
RootFrame = new TransitionFrame();
Run Code Online (Sandbox Code Playgroud)
我预计页面之间的转换会发生一些变化,但一切都没有发生.
我是否需要做更多的事情来实现更有趣的过渡?
我有一个单词2013宏,这需要相当长的时间才能完成.
宏正在重新格式化文档,并且屏幕在宏运行时不断更新,我猜这是大部分时间花费的时间.
如何在宏中禁用单词中的屏幕更新并在宏完成时刷新它?
在ASP.NET Core应用程序中,我想从ViewComponent返回自定义html.我可以返回自定义文本,但html将被编码而不是嵌入:
public class BannerViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(string param1, int param2)
{
return Content("<strong>some custom html</strong>");
}
}
Run Code Online (Sandbox Code Playgroud)
我在.cshtml页面中使用它:
@await Component.InvokeAsync("BannerView")
Run Code Online (Sandbox Code Playgroud)
在页面上,这将显示为<strong>some custom html</strong>而不是一些自定义的HTML.
如何从ViewComponent直接返回HTML而不是文本?
在我的Angular 5项目中,我有一个引导导航栏菜单。routerLinkActive当路径的开头与菜单的routerlink匹配时,效果很好,例如:
<li [routerLinkActive]="['active']">
<a [routerLink]="['/entity/teacher']">Teacher</a>
</li>
Run Code Online (Sandbox Code Playgroud)
上面的代码可以很好地激活菜单项“ / entity / teacher / add”等等
问题是,我有一种“包罗万象”的导航项,其中包含不排队的内容:
<li [routerLinkActive]="['active']">
<a [routerLink]="['/config']">Configuration</a>
</li>
Run Code Online (Sandbox Code Playgroud)
我想这个项目,以突出的路径/tasks和/entity/settings也一样,不仅对/config。
问题是,我无法更改应用程序的路由。如何获得菜单项以排队其他路由路径以及routerLink中的菜单项?
我正在使用它的名字加载一个dll,如下所示:
HANDLE hlib = LoadLibrary("Winfax.dll");
现在我想知道dll加载到哪条路径.有没有办法获取DLL句柄的完整路径和文件名?
我有一个WPF应用程序,其中包含一个显示大量数据的标准DataGrid.
现在我想添加按钮来选择下一个/第一个/上一个/最后一行.
有没有办法让DataGrid为我更改选择?
我试着用
private void SelectNext_Click(object sender, RoutedEventArgs e)
{
datagrid.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用(不更改所选项目,只将单元格焦点设置为第一个项目).