gpt4 book ai didi

c# - 在 C# 中为 Win 8 Metro App 举办 Button 事件

转载 作者:行者123 更新时间:2023-11-30 20:05:42 25 4
gpt4 key购买 nike

我在 Windows Phone Marketplace 上发布了一个应用程序,我正在尝试将其移植到 Win 8。我正在使用 Windows 8 Release PreviewVisual Studio Express RC 2012 Win 8,代码为C#-XAML

我创建了一个自定义的 6x7 日历。前 7 个按钮放入第一个 StackPanel ,下一个放入另一个面板,依此类推。所以有 6 个 StackPanels 包含 42 个按钮。所有这些 StackPanel 都放在一个 Grid 中,以便于定位。

每个按钮都与一个名为 OnLongPress 的 Holding 事件处理程序相关联。所以我面临的问题是,当按下按钮时,OnLongPress 函数被调用两次。在调试时,我发现第一次 Holding stateStarted ,下次调用时, Holding state id Completed 。我不明白为什么它被调用两次。

难道是因为事件冒泡了?? :(

    private void OnLongPress(object sender, HoldingRoutedEventArgs e)
{

Button butClicked = (Button)sender;
int iNumClicked = Convert.ToInt32(butClicked.Content.ToString());

CycleManager pCycMan = CycleManager.Instance;

string iVal, jVal;
int iRow, jCol;
string butName = butClicked.Name;
iVal = butName.Substring(1, 1);
jVal = butName.Substring(2, 1);
iRow = Convert.ToInt32(iVal);
jCol = Convert.ToInt32(jVal);

DateTime dtSelDate = new DateTime(m_yearBuffer[iRow, jCol], m_monthBuffer[iRow, jCol], iNumClicked);

int trackingStatus = pCycMan.IsDateOkForHistory(dtSelDate);
// setting or resetting few colors based on few checks
}

因为我是 Win 8 开发人员的新手,所以如果有人能提供一些帮助,那将会很有帮助。

最佳答案

我已经解决了持有事件被调用两次的问题,一次处理状态是开始的,一次是通过包括以下检查完成的。我仍然不确定这是否是正确的方法。

if (e.HoldingState == Windows.UI.Input.HoldingState.Started)

关于c# - 在 C# 中为 Win 8 Metro App 举办 Button 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com