silverlight的 GcSpreadSheet控件放到ChildWindow无法切换Sheet页
silverlight的 GcSpreadSheet控件放到ChildWindow无法切换Sheet页 pjsLucky该问题我会在调查之后,明天给你回复。 回复 1楼pjsLucky的帖子
pjsLucky 你好
Spread WPF-Silverlight本身设计时不支持这样的使用方式,不过可以尝试使用以下方法来解决这一问题
this.gcSpreadsheet1.MouseLeftButtonDown += OnGcSpreadsheetMouseLeftButtonDown;
private void gcSpreadsheet1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
SheetTab sheetTab = null;
var popups = VisualTreeHelper.GetOpenPopups();
if (popups != null && popups.Count() > 0)
{
foreach (var popup in popups)
{
if (popup.Child is ChildWindow)
{
var point = e.GetPosition(popup.Child);
var hitElements = VisualTreeHelper.FindElementsInHostCoordinates(point, popup).ToList<UIElement>();
if (hitElements == null || hitElements.Count == 0)
return;
foreach (var element in hitElements)
{
if (element is SheetTab)
{
sheetTab = (SheetTab)element;
break;
}
}
}
}
}
if (sheetTab != null)
{
if (sheetTab.SheetIndex >= 0)
{
this.gcSpreadsheet1.ActiveSheetIndex = sheetTab.SheetIndex;
}
else //Click on the New sheettab, insert a new worksheet and set the index to the new added sheet.
{
this.gcSpreadsheet1.Workbook.Sheets.Insert(this.gcSpreadsheet1.SheetCount, new GrapeCity.Windows.SpreadSheet.Data.Worksheet());
this.gcSpreadsheet1.ActiveSheetIndex = this.gcSpreadsheet1.SheetCount - 1;
}
}
}
为什么测版的可以,正试版的就不行了 回复 4楼zyd200888的帖子
您好:
请问您使用的测试版的版本号和正式版的版本号分别是多少?方便我们重现您说的问题。 回复 5楼Zoe的帖子
试用版是1.0.0.0,正式版是1.0.4.0
1.0.0.0是没有这个问题的 回复 3楼dof的帖子
我用了你这个方法之后Sheet页下面的名字就无法重命名了 是的, 我们给你提供的方法只能让您可以通过鼠标点击来切换ActiveSheet, 无法双击进入编辑状态后重命名Sheet. 回复 8楼jackshang的帖子
有没有其他办法呢? 目前Spread WPF-Silverlight对ChildWindow的支持不是很完善, 我们给您提供的方法只能帮您解决切换ActiveSheet的问题.如果您必须在ChildWindow中支持重命名sheet的话, 您可以在外面自己写代码设置WorkSheet.Name属性的方法来做.
页:
[1]
2