1

Silverlight と WPF の両方でビルドできるプロジェクトで使用される Xaml ファイルがあります。GridSplitter コントロールを使用したい。ただし、このコントロールは、Silverlight とデスクトップ WPF では異なる Xaml 名前空間にあります。

WPF では、名前空間は次のとおりです。http://schemas.microsoft.com/winfx/2006/xaml/presentation Silverlight では、次のとおりです。http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk

したがって、xaml コードが の場合、<GridSplitter/>WPF では動作しますが Silverlight では動作しません。また、コードが の場合、Silverlight では動作しますが WPF では<sdk:GridSplitter/>動作しません。

両方のプラットフォームで動作するようにこれを記述する方法はありますか?

4

2 に答える 2

2

私がやったことは、GridSplitter から派生した独自のクラスを作成することでした。

public class MyGridSplitter : GridSplitter { }

次に、プロジェクトの xmlns を xaml ファイルの先頭に配置します。

xmlns:local="clr-namespace:mynamespace"

そして、GridSplitter にローカル名前空間プレフィックスを使用できます。

<local:MyGridSplitter />
于 2010-05-25T05:24:23.477 に答える
1

ええ、あなたの wpf でこの名前空間を使用してください: xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation" その後、タグは同じです。x:sdk タグを変更して、wpf から Silverlight に移動し、元に戻す必要があります。

于 2010-05-23T20:46:01.620 に答える