Я создаю расширение для приложения, вот моя проблема.Add View to Main User Сложность управления
Существует основная страница макета XAML, и это связывается с основными приложениями источника данных (то есть вы можете использовать различные макеты на приложении)
Я создал вид, что я хотел бы разместить на этой странице макета. У моего представления есть своя собственная модель представления, которая устанавливается после того, как «инструмент» будет нажат в приложении.
Это DataSource для макета в свяжется основного приложение
<Grid d:DataContext="{Binding Source={StaticResource ViewerDataSource}}">
С отладкой она попадет мой ViewModel каждый раз, но никогда не обновляет ничего.
добавить свой взгляд на основной раскладке как
<!--Begin Custom Tab Item-->
<sdk:TabItem Name="StatisticsTabItem" Cursor="Hand" Visibility="Visible">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- Add Stats view here-->
<views:StatisticsView x:Name="StatsView" DataContext="{Binding BindsDirectlyToSource=True}" Grid.Row="1"/>
</Grid>
</sdk:TabItem>
Так в настоящее время он устанавливает метку на мой взгляд, каждый раз, и установить его правильно, но ничего не обновляется по фактической точки зрения в рамках основного макета XAML
я создал свой лейбл, как
private string totalPop;
public string TotalPop
{
get { return totalPop; }
set
{
if (totalPop != value)
{
totalPop = value;
OnNotifyPropertyChanged("TotalPop");
}
}
}
<sdk:Label x:Name="lbltotPop" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Content="{Binding TotalPop}" />
в моих других приложений он работает хорошо, но не знаете, как установить привязку к моему обновляется.
Его создатель приложения, и я только создаю расширение, которое вписывается в макет компоновщика приложений. Он уже запрограммирован как d: DataContext, должен ли я удалить d? – JcMey3r
Поместите точку останова на строку И посмотрите, инициализирован ли DataContext и указывает на правильный экземпляр объекта (проверьте свойство FinalSource в окне Debug Locals). D: DataContext используется для установки экземпляра DataContext проекта, а не среды выполнения. Проверьте http://msdn.microsoft.com/en-us/library/ff602277(v=vs.95).aspx. Кроме того, вы можете установить привязку, используя только {StaticResource ViewerDataSource} вместо {Binding ... Source = {StaticResource ...}} –
tmoreira
Я добавил свою собственную модель представления на основной макет и посмотрел на отладчик, все правильно теперь связано ... Теперь единственная проблема заключается в том, что измененное свойство остается неопределенным все время, даже несмотря на то, что оно правильно обновляется и т. д. – JcMey3r