2010-11-30 3 views
0

Silverlight 페이지의 Mainpage.xaml에서 'searchwin.xaml'사용자 컨트롤을 사용하고 있습니다. 'searchwin'은 자체의 viewmodel 'searhwinVM'을 가지고 있습니다. 나는 내가 mainpage에 내 목록 상자에서 특정 값으로 변경하는 경우에만 기본적 가시로 등 눈에 보이지 않는 설정하려면이Silverlight 사용자 정의 컨트롤의 데이터 컨텍스트 설정은 항상 컨트롤을 유지합니다.

<UserControl.Resources> 
<vm:SearchWin x:Name="SearchWinVM" x:Key="SearchWinVM" /> </UserControl.Resources> 

<part:SearchWin ..... {other properties here} 
Visibility="{Binding Converter={StaticResource BooleanToVisibilityConverter}, Path=IsSearchVisible}" 
DataContext="{StaticResource SearchWinVM}"/> 

이 검색 컨트롤을 좋아 XAML Mainpage에서의 뷰 모델에 searchwin의 데이터 컨텍스트를 설정 .xaml. mainpage.xaml에 UC의 datacontext를 설정하거나 mainpage.xaml.cs에 프로그래밍 방식으로 설정하면 컨트롤이 항상 표시 될 수 있습니다. 나는 지금 그것을 숨길 수 없다. datacontext를 제거하면 예상대로 잘 작동합니다. 어떤 아이디어가 이것을 고치는 방법? 시간에 대한

덕분에 ...

답변

0

당신은 당신의 컨버터 모두에서 호출되고 있음을 확인 했습니까? 나는 중단 점을 넣고 무슨 일이 일어나는지를 보았습니다.

+0

예. 호출 중입니다. 동일한 코드에서 DataContext = "{StaticResource SearchWinVM}"행을 가져 오면 예상대로 작동합니다. xaml이나 mainpage.xaml.cs에서 datacontext를 설정하면 컨트롤이 영원히 보일 수 있습니다! – user20358

+0

그래서 호출되는 경우 매개 변수 (IsSearchVisible에 매핑되어야 함)가 원하는 값을 가지는지 (분명히 false라고 예상 함), 그렇다면 변환기가 해당 Visibility 값을 반환합니까? 축소해야합니다)? – rawpower

+0

xaml에서 datacontext를 설정할 때 BooleanToVisibilityConverter를 호출하는 것 같지 않습니다. 이상한! ... DataContext 속성을 제거하면 작동합니다 .. DataContext는 호출되는 변환기와 관련이 있습니까? – user20358

관련 문제