Получить отправителя (кнопку) из дочернего окна

Я сгенерировал кнопку через код. и с помощью кнопки у меня есть один способ вызвать дочернее окно в Silverlight.

   private void btnXX_Click(object sender, RoutedEventArgs e)
    {
        Button btn = (Button)sender;
        SlotMaker slotMaker = new SlotMaker();
        slotMaker.Show();
    }

пока всплывает дочернее окно, могу ли я узнать, как я могу получить sender.content ?? из дочернего окна


person 1myb    schedule 10.11.2011    source источник
comment
Вы имеете в виду текст кнопки? Или у вас есть более сложный контент в кнопке?   -  person Gone Coding    schedule 10.11.2011


Ответы (1)


Измените конструктор SlotMaker на

 public DateTime SlotDateTime {get; private set; }

 public SlotMaker(DateTime slotDateTime)
 {
      SlotDateTime = slotDateTime;
      InitializeComponent();
      // Modify some display using value of SlotDateTime
 }

Затем в вашей кнопке нажмите

private void btnXX_Click(object sender, RoutedEventArgs e)     
{     
    Button btn = (Button)sender;
    DateTime dateTime = btn.Tag; // OR = DateTime.Parse(btn.Tag)     
    SlotMaker slotMaker = new SlotMaker(dateTime);     
    slotMaker.Show();     
}

Используйте свойство Tag кнопки, чтобы поместить строку в свой Xaml, которая легко анализируется как .NET DateTime, или используйте код, чтобы назначить фактическое DateTime свойству Tag.

person AnthonyWJones    schedule 10.11.2011