Я занимаюсь простым приложением для хранения приложений на окнах 8, и я хотел бы иметь простой двойной щелчок (коснуться) для редактирования.Простой способ сделать ввод данных в приложении для магазина Windows
Я думал о чем-то рядом;
void editProducer(object sender, DoubleTappedRoutedEventArgs e)
{
var t = new TextBox() {FontSize = 48, Width = 600, DataContext = DataModel.Producer};
var f = new Flyout() {Content = t};
f.ShowAt((FrameworkElement)sender);
}
Но я не смог получить версию этой работы.
Что я пропустил (я безуспешно пытался добавить привязку)? Или совершенно неправильно пытаться сделать это таким образом?
Обновление;
Этот код почти походил на то, что он собирался работать, и был ближе к первоначальному направлению, но все еще не работал;
var srcTextBlock = sender as TextBox;
var d = srcTextBlock.GetBindingExpression(TextBlock.TextProperty);
var t = new TextBlock() { FontSize = 48, Width = 200 };
t.SetBinding(TextBlock.TextProperty, d.ParentBinding);
var f = new Flyout() { Content = t };
f.ShowAt((FrameworkElement)sender);
, так что я в конце концов пошел с чем-то подобным на данный момент, исходя из предложенного направления;
var tb = (TextBox) sender;
tb.IsReadOnly = false;
tb.SelectedText = tb.Text;
tb.LostFocus += (o, args) => { tb.IsReadOnly = true; };
сообщение более полный пример. Я не мог заставить это работать, но, похоже, это возможно. – Spiked3
Проблема, насколько я могу судить, заключается в том, что элемент управления не включен, doubleTap не работает – Spiked3
Из MSDN: «Элементы, которые не включены, не участвуют в тестировании ударов или фокусе и, следовательно, не будут источниками входных событий. " Я посмотрю. –