Я буду предполагать MainControl, что вы упомянули это на самом деле BooksControl, который конкретизируется в вашем коде, который вы подвержены.
Да, вы создали новый экземпляр в коде-позади, но от того, что я вижу, что вы не сделали ничего на самом деле добавить его в макет (особенно учитывая, что вы упомянули, что ваш MainWindow.xaml пуст).
Теперь, я также буду считать, что, когда вы говорите «, но ничего не происходит», что вы имеете в виду, что ваш BooksControl не показывается в вашем MainWindow - это потому, что, как описано, вы не добавили его в макет.
два основных способа сделать это находится в XAML или в коде позади:
XAML:
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xlmns:x="http://schemas.microsoft.com/winfx/2006/xaml"
controls="clr-namespace:Controls;assembly=Controls">
<controls:BooksControl/>
</Window>
Код За
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var bc = new Controls.BooksControl();
// set the content of the Window to be the BooksControl
// assuming the BooksControl has default Visibility of Visible
this.Content = bc;
}
Вы можете также пост какой-нибудь XAML вашего MainWindow? – ChrisK
Главное окно пуста, поэтому на самом деле ничего не стоит внутри xaml, которое стоит опубликовать, window init. код и пустые теги сетки. – panjo
В этом случае вы можете установить содержимое сетки на 'bc'. Хотя вы можете добавить свой контроль непосредственно в XAML. – ChrisK