mirror of
https://github.com/ZuneDev/MicrosoftIris.git
synced 2026-07-27 13:13:29 -07:00
56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Microsoft.Iris.ViewItems.Index
|
|
// Assembly: UIX, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: A56C6C9D-B7F6-46A9-8BDE-B3D9B8D60B11
|
|
// Assembly location: C:\Program Files\Zune\UIX.dll
|
|
|
|
using Microsoft.Iris.Library;
|
|
using Microsoft.Iris.Markup;
|
|
using Microsoft.Iris.UI;
|
|
|
|
namespace Microsoft.Iris.ViewItems
|
|
{
|
|
internal class Index : NotifyObjectBase
|
|
{
|
|
private int _virtualIndex;
|
|
private int _dataIndex;
|
|
private Repeater _repeater;
|
|
|
|
public Index(int virtualIndex, int dataIndex, Repeater repeater)
|
|
{
|
|
_virtualIndex = virtualIndex;
|
|
_dataIndex = dataIndex;
|
|
_repeater = repeater;
|
|
}
|
|
|
|
public int Value => _virtualIndex;
|
|
|
|
public int SourceValue => _dataIndex;
|
|
|
|
public void SetValue(int virtualIndex, int dataIndex)
|
|
{
|
|
if (_virtualIndex != virtualIndex)
|
|
{
|
|
_virtualIndex = virtualIndex;
|
|
FireNotification(NotificationID.Value);
|
|
}
|
|
if (_dataIndex == dataIndex)
|
|
return;
|
|
_dataIndex = dataIndex;
|
|
FireNotification(NotificationID.SourceValue);
|
|
}
|
|
|
|
public Index GetContainerIndex()
|
|
{
|
|
ViewItem viewItem = _repeater;
|
|
while (!(viewItem.Parent is Repeater))
|
|
{
|
|
viewItem = viewItem.Parent;
|
|
if (viewItem == null)
|
|
return null;
|
|
}
|
|
return ((IndexLayoutInput)viewItem.GetLayoutInput(IndexLayoutInput.Data)).Index;
|
|
}
|
|
}
|
|
}
|