(. К сожалению, слишком долго для комментария)
Вы подход является правильным, следующий минимальный пример работает для меня:
XAML:
<Grid>
<ContentPresenter Content="{Binding InfoPane}" />
</Grid>
Codebehind:
public StackPanel InfoPane { get; set; }
public MainWindow()
{
InitializeComponent();
InfoPane = new StackPanel();
InfoPane.Children.Add(new TextBlock { Text = "dynamically created" });
this.DataContext = this;
}
Итак, ваша проблема должна лежать где-то в другом месте. Может быть, вы установили InfoPane
после, установив DataContext
на ваше устройство? Обратите внимание, что вы не вызываете PropertyChanged
, поэтому пользовательский интерфейс не знает, что изменилось InfoPane
.
Спасибо за подтверждение, после того, как вы сказали, что я понял, что я не называл 'NotifyPropertyChanges'! – Chris