0
내 응용 프로그램을 실행하려고 할 때이 오류가 발생했습니다 구현하지 않습니다'변환기'인터페이스 멤버 System.Windows.Data.IValueConverter.Convert
은 'InsightSplash.theMenuConverter' '인터페이스 멤버 를 구현하지 않습니다 System.Windows.Data.IValueConverter.Convert (object, System.Type, object, System.Globalization.CultureInfo) '
어떤 문제가 있습니까? 내가 아는 한 내 수입은 올바른 :
내 XAML 인터페이스 :
<Window x:Class="InsightSplash.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:InsightSplash"
Title="Window2" Height="300" Width="300" Loaded="Window_Loaded">
<Window.Resources>
<local:theConverter x:Key="theConverter"/>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="IsEnabled" Value="{Binding RelativeSource={RelativeSource Self},
Converter={StaticResource theConverter}}"></Setter>
</Style>
</Window.Resources>
<Grid HorizontalAlignment="Left" VerticalAlignment="Top" >
<Menu Grid.Row="0" Width="100" Height="30" IsMainMenu="True">
<MenuItem x:Name="Menu0" Header="الموارد البشرية" IsEnabled="True" >
<MenuItem x:Name="Menu1" Header="الادارات الرئيسية"></MenuItem>
<MenuItem x:Name="Menu2" Header="الموظفين"></MenuItem>
</MenuItem>
</Menu>
</Grid>
그리고 그런 내 변환기 클래스 :
는public class theMenuConverter : IValueConverter
{
DataClasses1DataContext dbusers = new DataClasses1DataContext();
public object convertMe(object value, Type targetType, object parameter, CultureInfo culture)
{
MenuItem mi = (MenuItem)value;
string header = mi.Header.ToString();
int userID = AFunctionToGetAUser();
int? permissionID = (from permsion in dbusers.PermissionsTbls
where permsion.PermissionDescription == header
select permsion.PermissionID).SingleOrDefault();
bool? pageActivity = (from active in dbusers.ActivePermissionsTbls
where active.PermissionID == permissionID && active.UserID == userID
select active.PageActive).SingleOrDefault();
if (pageActivity == true && header != null)
{
return true;
}
else
{
return false;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
private int AFunctionToGetAUser()
{
return 1;
}
}
내가 가진
내 데이터베이스
입니다ActivePermissionsTbl ==================== ActivePermID bigint PermissionID int UserID int PageActive bit PermissionsTbl ============== PermissionID int PermissionDescription nvarchar(30)
감사 dbaseman,하지만 난 그것을 변경 후에도 난 여전히 같은 오류가 발생했습니다 :(메소드의 서명에 문제가있을 수 있어야합니다 –
가 @HudaAhmed - 당신은 비주얼 스튜디오가있는 경우, 당신은 이것을 확인하실 수 있습니다 'IValueConverter'를 마우스 오른쪽 버튼으로 클릭하면 거기에 스텁 메서드가 삽입되어야합니다. 차이점은 – McGarnagle
@HudaAhmed입니다. "같은 오류"가 실제로 같은 오류이며 다른 오류가 아닌지 확인하십시오. 동일하지만 다른 유형이나 다른 방법에 대해 불만을 토로합니다. 질문에있는 코드가 프로젝트에있는 코드와 일치하는지 확인하십시오.이 대답은 * 당신을 위해 일해야하기 때문에 ... – hvd