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를 제거하면 예상대로 잘 작동합니다. 어떤 아이디어가 이것을 고치는 방법? 시간에 대한
덕분에 ...
예. 호출 중입니다. 동일한 코드에서 DataContext = "{StaticResource SearchWinVM}"행을 가져 오면 예상대로 작동합니다. xaml이나 mainpage.xaml.cs에서 datacontext를 설정하면 컨트롤이 영원히 보일 수 있습니다! – user20358
그래서 호출되는 경우 매개 변수 (IsSearchVisible에 매핑되어야 함)가 원하는 값을 가지는지 (분명히 false라고 예상 함), 그렇다면 변환기가 해당 Visibility 값을 반환합니까? 축소해야합니다)? – rawpower
xaml에서 datacontext를 설정할 때 BooleanToVisibilityConverter를 호출하는 것 같지 않습니다. 이상한! ... DataContext 속성을 제거하면 작동합니다 .. DataContext는 호출되는 변환기와 관련이 있습니까? – user20358