問題タブ [xaml-islands]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - XAML Islands を使用して WPF で Windows 10 スタイル リソースを使用する方法
XAML Islands を使用してアプリを作成しています。WPF アプリで Windows 10 スタイルを使用したいと考えています。たとえば、次のよう<TextBlock Text="Header" Style="{StaticResource HeaderTextBlockStyle}"/>
になります。
しかし、これは WPF では機能しません (変更を加えることなく UWP で機能します)。私の理解では、XAML Islands がそれを可能にするはずです。上記のコードを xaml ファイルに単純に追加しようとすると、例外が発生します
「HeaderTextBlockStyle」という名前のリソースが見つかりません。リソース名は大文字と小文字が区別されます。
要素に追加すると、同じ例外が発生Style="{StaticResource HeaderTextBlockStyle}"
し<xamlhost:WindowsXamlHost>
ます。
コードでコントロールを追加しようとしたので、この WindowsXamlHost コントロールをスタックパネルとして追加しました。
<xamlhost:WindowsXamlHost InitialTypeName="Windows.UI.Xaml.Controls.StackPanel" ChildChanged="WindowsXamlHost_ChildChanged"/>
そして、追加のコントロール (TextBlock) を StackPanel に追加する処理を行うこのメソッド (コントロールが作成されたときに実行されるイベント ハンドラー。これから学習します) を追加しました。
このApplication.Current.Resources["HeaderTextBlockStyle"]
方法は何もせず、例外もスローしません。
ウェイは次のthis.FindResource("HeaderTextBlockStyle")
例外をスローします:
System.Windows.ResourceReferenceKeyNotFoundException: ''HeaderTextBlockStyle' リソースが見つかりません.'
では、WPF アプリでこれらのスタイル リソースを取得するにはどうすればよいでしょうか。
wpf - WPF Xaml Islands - UWP マップ コントロールのピクセル化されたポリライン
現在、WPF アプリを .Net Framework から .Net Core (3.1) に移行しています。このアプリケーションは現在、Microsoft.Maps.MapControl.WPF アセンブリの MapControl を使用しています。目標は、このコントロールを Microsoft.Toolkit.Wpf.UI.Controls アセンブリから UWP MapControl に移行することです。要件の 1 つは、マップ上にルート/ポリラインを描画できることです。
Microsoft のドキュメント ( https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/display-poiにあります) に従って、地図上に線を引くことができました。ただし、最終結果は (視覚的に) 望ましいものではありません。次の画像に示すように、線がピクセル化されて表示されます。
この線を滑らかに見せるにはどうすればよいですか? それらにアンチエイリアスを適用する方法はありますか? オンラインで広範囲に検索した後、この要素のスムーズなレンダリングを可能にする関数またはプロパティを見つけることができませんでした。これを達成するために何ができますか?
編集:
MapPolyLine を作成する .Net Framework の方法 (Microsoft.Maps.MapControl.WPF を使用):
MapPolyLine を作成する .Net Core の方法 (Microsoft.Toolkit.Wpf.UI.Controls を使用):