@ без проблем, вам нужно добавить новый класс, наследуйте его с IValueConverter, это будет ваш конвертер bool to visibility, теперь вам нужно привязать свойство видимости StackPanel с логическим свойством из вашей модели представления, например так:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GreenScreenApp.classes" x:Class="GreenScreenApp.one" >
<UserControl.Resources>
<local:VisibilityConverter x:Key="BoolToVisibilityConverter"/>
</UserControl.Resources>
<Grid DataContext="MyDataSource" x:Name="LayoutRoot" >
<StackPanel x:Name="stackpanel2" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisibilityConverter}}">
</StackPanel>
</Grid>
у вас должно быть свойство с именем "IsVisible" в контексте данных.Конвертер преобразует логические значения и возвращает значения видимости.
Код конвертера
public class VisibilityConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var v = value;
if (v == "true")
return "Visible";
else
return "Collapsed";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
просто хочу сообщить, что в моем случае класс конвертера находится в папке "classes" вкорень проекта.Надеюсь, это решит вашу проблему.