2014-01-16 2 views
0

개체에 Content 속성이 있는지 확인해야합니다. 이 객체는 Button, Panel, Grid, Page, ContentControl 또는 TextBlock 등 어떤 것도 될 수 있습니다.개체에 콘텐츠 속성이 있는지 확인하는 올바른 방법

나는이 방법으로 확인되었다

if (obj is ContentControl) 
{ 
    // Yes 
} 
else 
{ 
    // No 
} 

문제는 내가이 정확한지 잘 모르겠어요 것입니다. MSDN에서 보면 페이지 클래스에 "Content"속성이 있지만 ContentControl에서 상속되지 않는 것을 볼 수 있습니다. 내가 맞습니까?

그렇다면 컨트롤에 Content 속성이 있는지 확인하는 올바른 방법은 무엇입니까?

+1

진짜 문제가 무엇인지이가 싶어한다. 'Attached Property'또는 'Behavior'를 만들지 않는다면 그런 일이 거의 필요 없습니다. –

+2

'Content'라는 이름의 속성을 가진 무작위 객체가 있다고 가정 해 봅시다. 그러나 그 속성은 Button이나 다른 컨트롤이 사용하는 것과 같은 방식으로 사용되지 않습니다. 해당 부동산의 이름은 그 부동산이 무엇인지에 대해 알려주지 않습니다. 뭔가가'ContentControl'에서 떨어지면 그 속성이 어떻게 사용될 것인지 꽤 확신합니다. – Steve

답변

1

당신은 속성의 존재 여부를 확인할 수 있습니다

 var propInfo = obj.GetType().GetProperty ("Content"); 
     if (propInfo != null) 
     { 
     //the propery exists 
     } 
관련 문제