Как я могу назначить ресурс Dynami c в конструкторе при создании кадра в C# вместо XAML? - PullRequest
1 голос
/ 20 июня 2020

Вот код, который у меня сейчас есть:

        var FR2 = new Frame()
        {
            Content = CE,
            CornerRadius = 5,
            HasShadow = false,
            HorizontalOptions = LayoutOptions.FillAndExpand,
            VerticalOptions = LayoutOptions.FillAndExpand,
            Padding = new Thickness(10, 0),
            Margin = new Thickness(0, 8),

        };
        FR2.SetDynamicResource(Frame.BackgroundColorProperty, "EntryBackgroundColor");
        FR2.SetDynamicResource(Frame.BackgroundColorProperty, "EntryBorderColor");

Есть ли способ установить эти динамические c ресурсы

BackgroundColor
BorderColor

внутри части {} конструктор для FR2 вместо добавления их после?

1 Ответ

1 голос
/ 20 июня 2020

К сожалению, нет. Вы не можете установить ресурсы Dynami c внутри вашего инициализатора. Вы должны установить их позже с помощью метода SetDynamicResource.

Как видите, SetDynamicResource ожидает использования с Element.SetDynamicResource(). Так что, по крайней мере, сейчас это невозможно.

Принимая во внимание, что в предстоящем MAUI ребята из Microsoft уделяют больше времени расширению разметки для кода программной части, Не удивлюсь, если это произойдет в ближайшем будущем.

Кстати, у вас ошибка копирования и вставки в последней строке - вы снова привязываете EntryBorderColor к BackgroundColorProperty.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...