Я делаю пользовательский элемент управления, производный от StackPanel. Это ряд кроссвордов. Сначала я добавил ячейки вручную в XAML, и ячейки отображаются нормально, но когда я добавляю их в конструктор кода элемента управления, они исчезают. Как я могу решить эту проблему?
Я пытался изменить дочерние элементы, добавив детали на InternalChildren.Add()
, Children.Add()
, AddVisualChild()
, но ни одна из них не работает.
Код строки:
public class Row : StackPanel
{
public static readonly DependencyProperty RowAnswerProperty = DependencyProperty.Register("RowAnswer", typeof(string), typeof(Row), new PropertyMetadata(""));
public string RowAnswer
{
get { return (string)GetValue(RowAnswerProperty); }
set { SetValue(RowAnswerProperty, value); }
}
public ObstacleRow()
{
Orientation = Orientation.Horizontal;
Children.Clear();
string answerWithoutSpace = RowAnswer.Replace(" ", "").ToUpper();
for (int i = 0; i < answerWithoutSpace.Length; i++)
AddLogicalChild(new Cell { CellChar = answerWithoutSpace[i], Width = 32, Height = 32, Margin = new Thickness(1, 0, 1, 0) });
}
}