none
Автоматическое изменение размеров компонента в коде RRS feed

  • Вопрос

  • Здравствуйте, уважаемые специалисты, не могли бы вы подсказать, как в программном коде задать свойству ширина/высота компонента автоматическое изменение по размерам содержимого (в моем случае это компонент HyperlinkButton в проекте Silverlight 3 на языке C#)

Ответы

  •  Свойство Parent компонента HyperlinkButton приспособлено только для чтения

    Ну так и добавляй на родительский элемент.

    Что то типа ParentElement.Children.Add( navigation[i] )

    • Помечено в качестве ответа eCStazy74 12 мая 2010 г. 5:16
    Модератор

Все ответы

  • По-моему, это должно помочь.

    http://msdn.microsoft.com/ru-ru/library/ms748828.aspx

    А вообще, в WPF если удалить размеры у кнопки она занимает размер по содержимому. В SL должно быть тоже самое.

    Модератор
  • действительно, если не указывать размеры, то они определяются автоматически, проблема оказалась в другом... Свойство Parent компонента HyperlinkButton приспособлено только для чтения, в результате, насколько я понял, мой компонент просто не попадает на форму. Ниже привожу часть кода, в которой происходит создание и размещение компонентов:

    HyperlinkButton[] navigation = new HyperlinkButton[10];
    
    private void SetNavigationStyle()
        {
          Thickness marg;
          for (int i = 0; i < navigation.Count(); i++)
          {
            if (i == 0)
            {
              marg = new Thickness(12, 69, 0, 0);
              navigation[i] = new HyperlinkButton();
              navigation[i].Content = "Каталог";
            }
            else
            {
              marg = new Thickness(navigation[i - 1].Margin.Left + navigation[i - 1].ActualWidth, 69, 0, 0);
              navigation[i] = new HyperlinkButton();
            }
            navigation[i].FontSize = 12;
            navigation[i].FontWeight = FontWeights.Bold;
            navigation[i].SetValue(MarginProperty, marg);
            navigation[i].Visibility = Visibility.Visible;
            navigation[i].Click += new RoutedEventHandler(NavHB_Click);
          }
        }

  •  Свойство Parent компонента HyperlinkButton приспособлено только для чтения

    Ну так и добавляй на родительский элемент.

    Что то типа ParentElement.Children.Add( navigation[i] )

    • Помечено в качестве ответа eCStazy74 12 мая 2010 г. 5:16
    Модератор