WPF Grid problem z konwerterem

0

Metoda Convert z konwertera nie jest nigdy wywoływana, i jest przypisywana domyślna wartość dla Width

Window.xaml

    <Metro:MetroWindow.Resources>
            <converters:BoolToGridSizeValueConverter x:Key="GridSzConverter"/>
    </Metro:MetroWindow.Resources>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="{Binding IsHamburgerVisible, Converter={StaticResource GridSzConverter}, ConverterParameter=left}"/> <!-- 300 -->
            <ColumnDefinition Width="5"/> <!-- splitter -->
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="5"/> <!-- splitter -->
            <ColumnDefinition Width="{Binding IsFastConfigVisible, Converter={StaticResource GridSzConverter}, ConverterParameter=right}"/> <!-- auto -->
        </Grid.ColumnDefinitions>

Konwerter

    public class BoolToGridSizeValueConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var param = parameter as string;
            var visible = (bool)value;

            if(param == "left")
            {
                return visible ? "300" : "0";
            } else if(param == "right")
            {
                return visible ? "auto" : "0";
            } else
            {
                throw new InvalidOperationException();
            }
        }
   }

viewmodel:

 public class MainWindowViewmodel : ViewModelBase
    {
        bool isHamburgerVisible;
        bool IsHamburgerVisible
        {
            get
            {
                return isHamburgerVisible;
            }

            set
            {
                isHamburgerVisible = value;
                base.OnPropertyChanged("IsHamburgerVisible");
            }
        }

        bool isFastConfigVisible;
        bool IsFastConfigVisible
        {
            get
            {
                return isFastConfigVisible;
            }

            set
            {
                isFastConfigVisible = value;
                base.OnPropertyChanged("IsFastConfigVisible");
            }
        }
    }
0

Metoda Convert z konwertera nie jest nigdy wywoływana, ponieważ twoje właściwości nie są publiczne.
Ps.
Tak na prawdę nie jestem pewny jaki masz zamiar, ale moim zdaniem to Ci się nie uda w ten sposób:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1