これは奇妙に思えますが、カスタムWPFユーザーコントロールをWPF UserControlにキャストしています。出来ますか?どうやってするの?いくつかのWPFユーザーコントロールの "隠し"メソッドを呼び出す方法
foreach (var kid in ((MainWindow)App.Current.Windows[0]).MainCanvas.Children)
{
string kidType = kid.GetType().FullName;
if (kidType.EndsWith("MyUserControl"))
{
UserControl myUserControl = (UserControl)kid;
myUserControl.Hide() // <- this method I want to call bu it is "hidden" because of teh casting which doesn't provide access to it.
注:公開されてHide()
方法。
SOLUTION:
こんにちはすべて!
ありがとうございました!最後に私は解決策を得ました。 MyUserControlClassが非表示方法とクラスです
foreach (var kid in ((MainWindow)App.Current.Windows[0]).MainCanvas.Children)
{
string kidType = kid.GetType().FullName;
if (kidType.EndsWith("MyUserControl"))
{
UserControl myUserControl = (UserControl)kid;
if (myUserControl is MyUserControlClass)
{
(myUserControl as MyUserControlClass).Hide();
}
}
}
:
public void Hide()
{
// do stuff
}
ありがとうございました!あなたのソリューションは本当にエレガントなものです!エルノ岩! –
ようこそ。私は、これ以上のインターフェースを実装するソリューションを好むことに注意してください。私はUserControlsへのアクセスがないので、私は反射を使用しなければならないときにのみ、この '動的な '解決策を検討します。 –