私のVisual Studio 2017 Intellisenseが公開ゲッターでフィールドだけを表示するのはなぜだろうか。この特定のケースでは、パブリックゲッターを使用して静的フィールドをWPFコンテンツにいくつかの静的/定数フィールドをロードしようとしています。なぜWPF XAML Intellisenseはパブリックゲッターを持つフィールドのみを表示しますか?
あなたは私以下のコードで見ることができるようにApp
クラスに3つのさまざまなフィールドを追加しましたが、一つだけ(StaticGetterName
)が示されています。面白い事実は、私がスペルミスをしないで入力すると、他の2つのフィールド(StaticField
& ConstantName
)が円滑に動作しているということです。プロジェクトは、App
クラスの3つのフィールドのいずれかで正常に構築され、実行されます。
私はもうクラスの宣言にstatic
キーワードを追加しようとしましたが、これまでの変更はありません。またpartial
キーワードは問題ではありません。
バインダーを書くつもりだったらこれでいいですパブリックゲッターでの提案のみを表示することは完璧な意味を持ちます。しかし、それはすべての種類の静的なフィールドになると?多すぎない程度に。
私はXAML Intellisenseの周辺にまだいくつかのバグがありますが、Intellisenseが動作していないシナリオではないことを推測しました。確かにそれは働いています、それはすべての可能性のある自動補完を表示していないようです。
App.xaml.cs
namespace DSIK.ClientApp
{
using System.Windows;
public partial class App : Application
{
public const string ConstantName = "Client";
public static string StaticField = ConstantName;
public static string StaticGetterName => ConstantName;
}
}
MainWindow.xaml
<Window x:Class="DSIK.ClientApp.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:DSIK.ClientApp"
Title="{x:Static local:App.StaticGetterName}" Height="460" Width="570">
<Grid>
</Grid>
</Window>