Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。
如何设置 --allow-file-access-from-files 到 cefsharp wpf?
我会测试 Cefsharp,但我不知道在哪里设置 --allow-file-access-from-files 我努力了 我会测试 Cefsharp,但我不知道在哪里设置 --allow-file-access-from-files 我试过了 <Window x:Class="Chromium.MainWindow" xmlns:cef="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" 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:Chromium" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <cef:ChromiumWebBrowser x:Name="browser" IsBrowserInitializedChanged="browser_IsBrowserInitializedChanged"></cef:ChromiumWebBrowser> </Grid> </Window> private void browser_IsBrowserInitializedChanged(object sender, DependencyPropertyChangedEventArgs e) { browser.LoadUrl("file:///C:/index.html"); } 但这不好..有接受本地文件的解决方案吗? 在本地文件 index.html 中,我正在使用 d3.son()(库 d3.js)加载本地 json 文件(与 index.html 在同一文件夹中的 json) <script src="https://d3js.org/d3.v4.min.js"></script> <script> : : var link = svg.append("g").selectAll(".link"), node = svg.append("g").selectAll(".node"); d3.json("flare.json", function (error, classes) { : 显示的错误: “从原点‘null’访问‘file:///C:/flare.json’处的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、数据、chrome-extension、chrome , https, chrome-untrusted.", 来源: file:///C:/index.html (0) 我从 Process.Start 调用没有问题: var p = System.Diagnostics.Process.Start("chrome.exe", "\"file:///C:/index.html\" --allow-file-access-from-files"); 其实很简单: 只需在构造函数中执行此操作: var settings = new CefSettings(); settings.CefCommandLineArgs.Add("allow-file-access-from-files"); settings.CefCommandLineArgs.Add("allow-universal-access-from-files"); Cef.Initialize(settings);
Wpf 数据网格在将项目添加到 DataSource 时不会在运行时反映
多年来我一直在使用 Stackoverflow 来解决不同的技术问题,我通常最终会找到答案。我无法解决这个问题,已经一个多星期了
如何动态地将 ValidationAttributes 添加到 WPF/AvaloniaUI 中的属性
我想动态地将 ValidationAttributes 添加到一个属性,通过调用属性 IsValid 函数,它可以对绑定到该特定属性的任何控件进行错误验证...
我使用 Entity Framework 7 和 gridview 在 gridview 中查看和编辑数据。编辑单元格后我需要保存新值,但在更改源数据之前调用 CellEditEnding 事件(ItemsSource prope ...
WPF - gridview 是否有“OnEditEnded”事件?
我使用 Entity Framework 7 和 gridview 在 gridview 中查看和编辑数据。编辑单元格后我需要保存新值,但在更改源数据之前调用 CellEditEnding 事件(ItemsSource prope ...
MaterialDesignInXamlToolkit - 将 ListView 拉伸至全宽
我正在尝试将我的 ListView.ItemTemplate 拉伸到 ListView 的整个宽度。但是由于我使用的是 MaterialDesginInXamlToolkit,所以我尝试时我的样式会中断。 请有人帮我做我的
如何将本地化资源文件嵌入到 .NET 7 WPF 应用程序的主程序集中?
在这个例子之后,我在我的 WPF 应用程序的 .csproj 文件中包含了一些本地化资源文件: 在this example之后,我在我的WPF应用程序的.csproj文件中包含了一些本地化资源文件: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net7.0-windows</TargetFramework> <Nullable>enable</Nullable> <UseWPF>true</UseWPF> <UICulture>en</UICulture> </PropertyGroup> <ItemGroup> <EmbeddedResource Include="locale.en.restext" /> <EmbeddedResource Include="locale.es.restext" /> <EmbeddedResource Include="locale.fr.restext" /> </ItemGroup> </Project> 然后我可以创建一个ResourceManager实例并使用.GetString( String, CultureInfo ). 回退机制或多或少像宣传的那样。 除了...默认 UICulture 的最终回退似乎不起作用 - 即使我在我的类中包含以下属性: [assembly:NeutralResourcesLanguage( "en" ) ] 而且我相当确定那是因为我的 .en.restext 文件是作为附属程序集构建的,而不是包含在主程序集中。 PS > Get-ChildItem .\bin\Debug\net7.0-windows Directory: C:\Users\user\path\to\proj\bin\Debug\net7.0-windows Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2023-05-18 23:56 en d---- 2023-05-18 23:56 es d---- 2023-05-18 23:56 fr -a--- 2023-05-18 23:56 679 Proj.deps.json -a--- 2023-05-18 23:56 6144 Proj.dll -a--- 2023-05-18 23:56 154624 Proj.exe -a--- 2023-05-18 23:56 12888 Proj.pdb -a--- 2023-05-18 23:56 266 Proj.runtimeconfig.json 特别是因为如果我在我的课程中包含以下内容,那么回退机制将完美运行: [assembly:NeutralResourcesLanguage( "en", UltimateResourceFallbackLocation.Satellite )] 那么我如何在我的 .csproj 文件中指定本地化资源应该包含在主程序集中,而不是在附属程序集中? 好吧,经过更多的思考并试图弄清楚这个恐怖......我想我已经破解了它。 很简单,当我在我的.csproj文件中指定以下内容时: <!-- ... --> <UICulture>en</UICulture> <!-- ... --> 那么这意味着我应该命名“Neutral Culture”资源文件而没有其识别en后缀。因此,我应该在 .csproj 文件中将其简单地称为: <!-- ... --> <EmbeddedResource Include="locale.restext" /> <!-- ... --> 当我这样做时,它会被编译到主程序集中。 .GetString( String, CultureInfo ) 的最终回退无需指定即可完美运行: [assembly:NeutralResourcesLanguage( "en", UltimateResourceFallbackLocation.Satellite )] 支持 Microsoft 开源其大量 .NET 代码。 (即使它是神秘的东西,比如 MSBuild 定义。) 我很感激我不再需要用.restext手动预编译resgen文件,因为很多文档仍然说。 一般来说,他们的文档是最重要的。 但我确实认为他们应该更新描述 SDK 样式项目的资源和本地化的页面。
在 MVVM (.net WPF) 中实现视图模型的最佳方式是什么
我看到了几种实现视图模型的方法。 首先是在模型中有一些属性,然后在 viewModel 中有相同的属性,只在 getters/setters 中使用模型中的属性 +
使 API 服务器和 WPF 应用程序使用相同的服务和状态实例是个好主意吗?
我有一个 WPF 应用程序需要通过 LAN 进行通信的移动应用程序。为了解决这个问题,我创建了一个在 IIS 上运行的单独的 API 服务器。现在我想实现以下目标: 直接使用Kestrel(IIS...
带样式的自定义 WPF ListView(使用 DataTemplate)——如何添加标题?
我有以下代码 行的数据模板 ...
在我的程序中,我使用bing map做在线地图。但是我们需要在外面使用这个程序,不会有网络连接。因为我用的离线地图不详细,看不到国家...
基于 ComboBox 选择,使用 DataGrid CellTemplate 中的 DataTrigger 将另一个 ComboBox 更改为 TextBox
我有一个 DataGrid,我在其中使用 CellTemplate 来定义各种数据列。 像下面一样 <
自定义 TabControl TabItem 标题项的 HorizontalStretch
我有以下带有自定义 ItemTemplate 的 TabControl(添加了 ScrollViewer 功能)。现在我想水平拉伸(绿色/红色)网格以使用整个宽度。我已经试过了……
从 WPF 中的 DataGridCellInfo 中获取项目
我在 WPF 中有一个 DataGrid。 DataGridCellInfo 包含 Column、IsValid 和 Item。 我试过: var foo = foobar.Item.Name var foo2 = foobar.Item[名称] 我应该如何从现场获得价值...
我正在尝试创建一个自定义的日期选择器。传统的只有当用户点击日历图标时才会打开日历。我想要实现的是用户可以随时打开日历...
我有一个带有 ListView 控件的 WPF 应用程序来显示错误列表。当我清除项目并将其添加到 ListView 时,Windows 讲述人会宣布它们,但 NVDA 阅读器不会。 这是我的代码: 我有一个带有 ListView 控件的 WPF 应用程序来显示错误列表。当我清除项目并将其添加到 ListView 时,Windows 旁白会宣布它们,但 NVDA 阅读器不会。 这是我的代码: <Window x:Class="ListViewAccessibility.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:ListViewAccessibility" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <StackPanel> <ListView x:Name="errorsListView" Margin="28,0,0,0" Height="150" ItemsSource="{Binding Path=ErrorItems}" AutomationProperties.Name="Errors" AutomationProperties.LiveSetting="Assertive" > <ListView.ItemTemplate> <DataTemplate > <WrapPanel > <TextBlock Text="{Binding ErrorText}" FontWeight="Bold" AutomationProperties.Name="{Binding ErrorText}" /> </WrapPanel> </DataTemplate> </ListView.ItemTemplate> </ListView> <Button Command="{Binding AddErrorCommand}">Add Item</Button> </StackPanel> </Grid> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new MainViewModel(); ((INotifyCollectionChanged)errorsListView.Items).CollectionChanged += ListViewCollectionChanged; } private void ListViewCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (errorsListView.Items?.Count > 0) { RaiseListViewLiveRegionChanged(); } } private void RaiseListViewLiveRegionChanged() { var peer = UIElementAutomationPeer.FromElement(errorsListView); if (peer == null) { peer = UIElementAutomationPeer.CreatePeerForElement(errorsListView); } peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged); } } public class ErrorInfo { public string ErrorText { get; set; } } public class MainViewModel : ViewModelBase { public ObservableCollection<ErrorInfo> ErrorItems { get; } = new ObservableCollection<ErrorInfo>(); private ICommand _addErrorCommand; public ICommand AddErrorCommand { get { return _addErrorCommand ?? (_addErrorCommand = new RelayCommand(() => AddError())); } } int idx = 0; private void AddError() { ErrorItems.Clear(); ErrorItems.Add(new ErrorInfo() { ErrorText = $"New Error {idx++}" }); } } Inspect.exe 结果
编辑:发生这种情况是因为可停靠面板在移动到浮动状态时是半透明的。解决方法是禁用透明度。 我使用自定义面板功能(第 3 方,非公共 NuGet)...
几年没有编程了,所以请耐心等待。一般来说,我可以设置一个具有默认值的控件,以便设置该值不会触发任何事件。例如,我可以设置一个
Canvas 围绕 yaxis 缩放 =-1 WPF,带有缩放、平移和拖动选择
我正在实现 wpf 画布,它围绕 yaxis = -1 缩放,对画布中添加的线条进行缩放、平移和拖动选择,但目前我正面临平移画布和选择
我使用 WrapPanel 作为 ItemsControl 的 ItemsPanel。现在,控件中的项目像这样换行: |1234567 | |890 | 我希望他们像这样包装: | 1234567 | | 890 |