#c# #mvvm #uwp #uwp-xaml
Вопрос:
У меня есть сценарий, в котором я должен сравнить переданное значение перечисления через привязку в конвертере и вернуть видимость, для этого я хочу передать параметр преобразования в выражении привязки, но здесь, в UWP, у нас нет x:Static, тогда как я могу это сделать
Я уже пробовал эти вещи
Visibility="{x:Bind vm.ControlState, Mode=OneWay, Converter={StaticResource enumToVisibilityConverter}, ConverterParameter={x:Bind enums:TextControlState.Controls}}"
это приводит к ошибке во время компиляции, в которой говорится, что вложенная привязка x:не разрешена
Visibility="{Binding ControlState, Mode=OneWay, Converter={StaticResource enumToVisibilityConverter}, ConverterParameter={x:Bind enums:TextControlState.Controls}}"
он выдает ошибку во время выполнения, в которой говорится, что не удается назначить выражение привязки
Ответ №1:
но здесь, в UWP, у нас нет x:Static, тогда как я могу это сделать
Как вы упомянули выше, мы не можем использовать x:Static в платформе uwp, но мы могли бы использовать StaticResource
его для замены.
например
lt;Page.Resourcesgt; lt;local:TextControlState x:Key="ConState"gt;Controlslt;/local:TextControlStategt; lt;/Page.Resourcesgt; Visibility="{x:Bind vm.ControlState, Mode=OneWay, Converter={StaticResource enumToVisibilityConverter}, ConverterParameter={StaticResource ConState}}"
Комментарии:
1. это работает, спасибо, но есть ли другой способ, потому что теперь я тоже создал все значения перечисления в XML