この質問の解決策を使おうとすると、奇妙な問題が発生します。(便宜上、ここに複製されています)
これは、ListView
右クリックイベントを飲み込み、AppBarが開かないようにする問題の解決策です-次のイベントを継承ListView
してオーバーライドするクラス:OnRightTapped
ListViewItem
public class MyListView : ListView
{
protected override DependencyObject GetContainerForItemOverride()
{
return new MyListViewItem();
}
}
public class MyListViewItem : ListViewItem
{
protected override void OnRightTapped(Windows.UI.Xaml.Input.RightTappedRoutedEventArgs e)
{
base.OnRightTapped(e);
e.Handled = false; // Stop 'swallowing' the event
}
}
<CustomControls:MyListView
x:Name="ItemsList"
...
SelectionMode="Single"
RightTapped="MyListView_RightTapped">
</CustomControls:MyListView>
説明どおりに、CustomControlsという新しい名前空間に、指定されたとおりにカスタムコントロールを実装しました。その名前空間をMainPage.xamlに追加しました
xmlns:CustomControls="using:CustomControls"
次に、コードビハインドで「ItemsList」を参照しようとすると、コンパイルエラーが発生します
The name 'ItemsList' does not exist in the current context
私は、ソリューションの構築、再構築、クリーンアップ、ソリューションのクローズと再開、メインプロジェクトの名前空間の下にクラスを配置することを試みましたが、すべて役に立ちませんでした。
要約すると、MainPage.csはMainPage.xamlのカスタムコントロールを表示できません
更新2:無関係な問題を削除するために質問を書き直しました。また、実際の問題を反映するようにタイトルを変更しました。